CaiWuXiTong/tests/Unit/View/StoreReceivingBalanceOverviewTest.php
qiuxiang c45896bdf7 fix: 月度期末余额汇总改为万元展示 (#1033)
月度余额及环比金额统一按万元展示。
2026-11-10 13:30:24 +08:00

83 lines
4.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Tests\Unit\View;
use PHPUnit\Framework\TestCase;
class StoreReceivingBalanceOverviewTest extends TestCase
{
public function test_overview_renders_occurrence_date_filter_and_four_required_totals(): void
{
$source = file_get_contents(
__DIR__ . '/../../../resources/assets/js/components/business/StoreReceivingBalanceOverview.vue'
);
$this->assertStringContainsString('账户余额总览', $source);
$this->assertStringContainsString('期初余额合计', $source);
$this->assertStringContainsString('收入合计', $source);
$this->assertStringContainsString('支出合计', $source);
$this->assertStringContainsString('期末余额合计', $source);
$this->assertStringContainsString('期初余额 + 收入合计 - 支出合计', $source);
$this->assertStringContainsString('@submit.prevent="applyTimeRange"', $source);
$this->assertStringContainsString('<flat-picker', $source);
$this->assertStringContainsString('发生时间', $source);
$this->assertStringContainsString('查询中…', $source);
$this->assertStringContainsString('start: this.queryRange.start', $source);
$this->assertStringContainsString('end: this.queryRange.end', $source);
$this->assertStringContainsString('结束日期不能早于开始日期', $source);
$this->assertStringContainsString('暂不展示不完整合计', $source);
$this->assertStringContainsString(':aria-busy="loading', $source);
$this->assertStringContainsString('(单位:万元)', $source);
$this->assertStringContainsString('value: this.moneyWan(this.summary.opening_balance)', $source);
$this->assertStringContainsString('value: this.moneyWan(this.summary.income)', $source);
$this->assertStringContainsString('value: this.moneyWan(this.summary.expense)', $source);
$this->assertStringContainsString('value: this.moneyWan(this.summary.balance)', $source);
$this->assertStringContainsString('}万`;', $source);
$this->assertStringContainsString(':title="card.title"', $source);
$this->assertStringContainsString('查看明细', $source);
$this->assertStringContainsString('openDetails(card.key)', $source);
$this->assertStringContainsString('detailTitle', $source);
$this->assertStringContainsString('收入合计', $source);
$this->assertStringContainsString('支出合计', $source);
$this->assertStringContainsString("{ key: 'platform', label: '平台' }", $source);
$this->assertStringContainsString("{ key: 'store', label: '店铺' }", $source);
$this->assertStringContainsString("{ key: 'bill_item', label: '账单项目' }", $source);
$this->assertStringContainsString('income-detail', $source);
$this->assertStringContainsString('expense-detail', $source);
$this->assertStringContainsString('balance-detail', $source);
$this->assertStringContainsString("detailFlow === 'balance'", $source);
$this->assertStringContainsString('期末余额(万元)', $source);
$this->assertStringContainsString('当前筛选合计(万元)', $source);
}
public function test_overview_tab_is_placed_before_taobao_alipay_navigation(): void
{
$navigation = file_get_contents(__DIR__ . '/../../../config/business_navigation.php');
$this->assertLessThan(
strpos($navigation, "['slug' => 'taobao-alipay', 'title' => '淘系支付宝账户']"),
strpos($navigation, "['slug' => 'balance-overview', 'title' => '账户余额总览']"),
);
}
public function test_overview_contains_four_month_closing_summary_and_comparison(): void
{
$source = file_get_contents(
__DIR__ . '/../../../resources/assets/js/components/business/StoreReceivingBalanceOverview.vue'
);
$this->assertStringContainsString('月度期末余额汇总', $source);
$this->assertStringContainsString('平台账户', $source);
$this->assertStringContainsString('monthly-closing-table', $source);
$this->assertStringContainsString('2026 年 7-10 月各平台期末余额', $source);
$this->assertStringContainsString('金额单位:万元', $source);
$this->assertStringContainsString('monthlyBalanceWan', $source);
$this->assertStringContainsString('signedMoneyWan', $source);
$this->assertStringContainsString('Number(value) / 10000', $source);
$this->assertStringContainsString('amount / 10000', $source);
$this->assertStringContainsString('环比口径:2026年10月期末余额 − 2026年9月期末余额', $source);
$this->assertStringContainsString('monthlyClosingRows', $source);
$this->assertStringContainsString('fetchMonthlyClosing', $source);
}
}