diff --git a/app/Http/Controllers/Api/V1/Wallet/WalletLogsController.php b/app/Http/Controllers/Api/V1/Wallet/WalletLogsController.php index 9b225a7..6925063 100644 --- a/app/Http/Controllers/Api/V1/Wallet/WalletLogsController.php +++ b/app/Http/Controllers/Api/V1/Wallet/WalletLogsController.php @@ -26,8 +26,8 @@ final class WalletLogsController extends Controller 'transfer_in' => ['transfer_in'], 'transfer_out' => ['transfer_out'], 'refund' => ['transfer_out_refund'], - 'reversal' => ['reversal'], - 'bet' => ['bet_deduct', 'bet', 'bet_reverse'], + 'reversal' => ['reversal', 'bet_reverse'], + 'bet' => ['bet_deduct', 'bet'], 'prize' => ['settle_payout', 'prize', 'jackpot_manual_payout'], ]; diff --git a/tests/Feature/WalletLogsTest.php b/tests/Feature/WalletLogsTest.php index 4246fbc..7a54d51 100644 --- a/tests/Feature/WalletLogsTest.php +++ b/tests/Feature/WalletLogsTest.php @@ -83,6 +83,65 @@ test('wallet logs filters bet_deduct as public bet type', function () { ->assertJsonPath('data.items.0.biz_type', 'bet_deduct'); }); +test('wallet logs bet filter excludes bet_reverse shown as reversal', function () { + $player = Player::query()->create([ + 'site_code' => 'main', + 'site_player_id' => 'wl5', + 'default_currency' => 'NPR', + 'status' => 0, + ]); + + $wallet = PlayerWallet::query()->create([ + 'player_id' => $player->id, + 'wallet_type' => 'lottery', + 'currency_code' => 'NPR', + 'balance' => 1000, + 'frozen_balance' => 0, + 'status' => 0, + 'version' => 0, + ]); + + WalletTxn::query()->create([ + 'txn_no' => 'WX_bet_deduct_2', + 'player_id' => $player->id, + 'wallet_id' => $wallet->id, + 'biz_type' => 'bet_deduct', + 'biz_no' => 'TO_bet_only', + 'direction' => 2, + 'amount' => 1100, + 'balance_before' => 100000, + 'balance_after' => 98900, + 'status' => 'posted', + ]); + + WalletTxn::query()->create([ + 'txn_no' => 'WX_bet_reverse_1', + 'player_id' => $player->id, + 'wallet_id' => $wallet->id, + 'biz_type' => 'bet_reverse', + 'biz_no' => 'TO_bet_only', + 'direction' => 1, + 'amount' => 1100, + 'balance_before' => 98900, + 'balance_after' => 100000, + 'status' => 'posted', + ]); + + $this->withHeader('Authorization', 'Bearer dev:'.$player->id) + ->getJson('/api/v1/wallet/logs?type=bet') + ->assertOk() + ->assertJsonPath('data.total', 1) + ->assertJsonPath('data.items.0.type', 'bet') + ->assertJsonPath('data.items.0.biz_type', 'bet_deduct'); + + $this->withHeader('Authorization', 'Bearer dev:'.$player->id) + ->getJson('/api/v1/wallet/logs?type=reversal') + ->assertOk() + ->assertJsonPath('data.total', 1) + ->assertJsonPath('data.items.0.type', 'reversal') + ->assertJsonPath('data.items.0.biz_type', 'bet_reverse'); +}); + test('wallet logs filters settle_payout as public prize type', function () { $player = Player::query()->create([ 'site_code' => 'main',