user->attachPermission( Permission::where('name', 'read-admin-panel')->firstOrFail(), ); $connection = DB::connection('business_mirror'); $connection->table('fin_accounts')->insert([ [ 'company_name' => '弹窗测试公司', 'account_short' => '弹窗招商招行', 'account_should_keep' => '是', 'current_balance' => 1100, 'daily_available' => 1100, ], [ 'company_name' => '弹窗测试公司', 'account_short' => '弹窗工商1工行', 'account_should_keep' => '否', 'current_balance' => 2200, 'daily_available' => 2200, ], [ 'company_name' => '弹窗测试公司', 'account_short' => '弹窗工商2工行', 'account_should_keep' => '是', 'current_balance' => 3300, 'daily_available' => 3300, ], ]); $connection->table('fin_daily_flows')->insert([ [ 'flow_date' => '2026-10-17', 'company_name' => '弹窗测试公司', 'account_short' => '弹窗招商招行', 'opening_balance' => 1100, 'inflow' => 0, 'outflow' => 0, 'closing_balance' => 1100, ], [ 'flow_date' => '2026-10-17', 'company_name' => '弹窗测试公司', 'account_short' => '弹窗工商1工行', 'opening_balance' => 2200, 'inflow' => 0, 'outflow' => 0, 'closing_balance' => 2200, ], [ 'flow_date' => '2026-10-17', 'company_name' => '弹窗测试公司', 'account_short' => '弹窗工商2工行', 'opening_balance' => 3300, 'inflow' => 0, 'outflow' => 0, 'closing_balance' => 3300, ], ]); $connection->table('fin_flow_summary_account_sources')->insert([ [ 'account_short' => '弹窗招商招行', 'data_source' => '银企直连', 'updated_by' => '测试', ], [ 'account_short' => '弹窗工商1工行', 'data_source' => '手动', 'updated_by' => '测试', ], [ 'account_short' => '弹窗工商2工行', 'data_source' => '银企直连', 'updated_by' => '测试', ], ]); } public function test_account_count_opens_bank_category_dialog_with_period_balances_and_keep_counts(): void { $response = $this->loginAs()->get($this->pageUrl([ 'flows_from' => '2026-10-01', 'flows_to' => '2026-10-31', ])); $response->assertOk() ->assertSee('data-ledger-bank-category-trigger', false) ->assertSee('银行分类数量') ->assertSee('table-layout:fixed', false) ->assertSee('text-align:center; white-space:nowrap', false) ->assertSee('border-right:1px solid #e8e3da', false) ->assertSee('', false) ->assertSee('data-ledger-bank-category-sort="balance"', false) ->assertSee('(leftValue - rightValue)', false) ->assertSee('data-bank-category-balance="', false) ->assertSeeInOrder([ '招商银行', '1', '0', '1', '0.11', '1', '0', '工商银行', '1', '1', '2', '0.55', '1', '1', ]); } public function test_bank_view_uses_data_source_and_summary_adds_keep_column(): void { $this->loginAs()->get($this->pageUrl([ 'flows_view' => 'bank', 'flows_from' => '2026-10-01', 'flows_to' => '2026-10-31', ])) ->assertOk() ->assertSee('是否保留') ->assertSee('数据来源') ->assertDontSee('是否银企直连') ->assertSee('