Files
lotteryLaravel/tests/Feature/RiskPoolLuaScriptTest.php

24 lines
803 B
PHP

<?php
use App\Services\Ticket\RiskPoolService;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
test('risk pool lua acquire script returns structured status and pool counters', function (): void {
$service = app(RiskPoolService::class);
$method = new ReflectionMethod($service, 'acquireLua');
$method->setAccessible(true);
$lua = (string) $method->invoke($service);
expect($lua)->toContain("return {'OK'")
->and($lua)->toContain('INVALID_ARGUMENT')
->and($lua)->toContain('POOL_NOT_INITIALIZED')
->and($lua)->toContain('VERSION_CONFLICT')
->and($lua)->toContain('INSUFFICIENT_CAP')
->and($lua)->toContain('remaining')
->and($lua)->toContain('locked')
->and($lua)->toContain('version');
});