seed(CurrencySeeder::class); $this->seed(LotterySettingsSeeder::class); }); test('credit player wallet logs reads credit_ledger not wallet_txns', function (): void { $player = Player::query()->create([ 'site_code' => 'default_site', 'site_player_id' => 'native:logs-1', 'auth_source' => PlayerAuthSource::LOTTERY_NATIVE, 'funding_mode' => PlayerFundingMode::CREDIT, 'username' => 'credit_logs', 'default_currency' => 'NPR', 'status' => 0, ]); DB::table('player_credit_accounts')->insert([ 'player_id' => $player->id, 'credit_limit' => 200, 'used_credit' => 10, 'frozen_credit' => 0, 'created_at' => now(), 'updated_at' => now(), ]); DB::table('credit_ledger')->insert([ 'owner_type' => 'player', 'owner_id' => $player->id, 'amount' => -1000, 'reason' => 'bet_hold', 'ref_type' => 'bet', 'ref_id' => null, 'created_at' => now(), 'updated_at' => now(), ]); $this->withHeader('Authorization', 'Bearer dev:'.$player->id) ->getJson('/api/v1/wallet/logs?page=1&size=10') ->assertOk() ->assertJsonPath('data.ledger_source', 'credit_ledger') ->assertJsonPath('data.funding_mode', PlayerFundingMode::CREDIT) ->assertJsonPath('data.auth_source', PlayerAuthSource::LOTTERY_NATIVE) ->assertJsonPath('data.total', 1) ->assertJsonPath('data.items.0.type', 'bet') ->assertJsonPath('data.items.0.biz_type', 'bet_hold') ->assertJsonPath('data.items.0.ledger_source', 'credit_ledger'); });