83 lines
4.8 KiB
PHP
83 lines
4.8 KiB
PHP
<?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);
|
||
}
|
||
}
|