test(config): align current odds and settlement contracts

This commit is contained in:
wchino
2026-07-21 23:41:18 +08:00
parent 457d2cc9e5
commit 150c3e7ebd
11 changed files with 93 additions and 163 deletions

View File

@@ -11,19 +11,20 @@ use App\Models\TicketOrder;
use App\Models\PlayerWallet;
use App\Models\DrawResultItem;
use App\Models\DrawResultBatch;
use App\Models\JackpotPayoutLog;
use App\Models\SettlementBatch;
use Illuminate\Support\Facades\Event;
use App\Events\JackpotBurstBroadcast;
use App\Services\Draw\DrawResultViewService;
use App\Models\JackpotPayoutLog;
use App\Models\JackpotContribution;
use Illuminate\Support\Facades\Hash;
use App\Support\OddsStandardScopes;
use App\Lottery\ConfigVersionStatus;
use Database\Seeders\CurrencySeeder;
use Database\Seeders\PlayTypeSeeder;
use Illuminate\Support\Facades\Hash;
use App\Events\JackpotBurstBroadcast;
use Illuminate\Support\Facades\Event;
use App\Lottery\DrawResultBatchStatus;
use App\Services\Draw\DrawPrizeLayout;
use Database\Seeders\LotterySettingsSeeder;
use App\Services\Draw\DrawResultViewService;
use Database\Seeders\OperationalConfigV1Seeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use App\Services\Settlement\SettlementOrchestrator;
@@ -239,7 +240,8 @@ test('jackpot contributes on place and bursts on settle for first-prize straight
app(SettlementBatchWorkflowService::class)->payout($settlementBatch->fresh());
$item = TicketItem::query()->where('draw_id', $draw->id)->firstOrFail();
expect((int) $item->win_amount)->toBe(250_000);
$expectedWin = (int) floor(10_000 * OddsStandardScopes::presetOddsForPlay('straight')['first'] / 10_000);
expect((int) $item->win_amount)->toBe($expectedWin);
expect((int) $item->jackpot_win_amount)->toBe(1_000);
$poolAfterSettle = JackpotPool::query()->where('currency_code', 'NPR')->firstOrFail();