Files
lotteryLaravel/tests/Feature/ApiMessageTest.php
kang e6cf94af46 refactor: 使用 ApiMessage 统一错误响应格式
- 在多个控制器中引入 ApiMessage,替换原有的 ApiResponse 错误处理逻辑,确保错误信息的一致性与可读性。
- 更新错误返回信息,使用更具语义的键值,提升 API 的可维护性与用户体验。
- 适配相关控制器的请求参数,确保在处理错误时能够正确返回相应的错误信息。
2026-06-01 14:23:48 +08:00

31 lines
1.0 KiB
PHP

<?php
use App\Support\ApiMessage;
use Illuminate\Http\Request;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
test('api message resolves runtime reason in zh locale', function (): void {
$request = Request::create('/api/v1/test', 'GET');
$request->attributes->set('lottery_locale', 'zh');
expect(ApiMessage::reason($request, 'draw_not_ready_for_jackpot_burst'))
->toBe('期号尚未进入结算中或已结算,无法手动爆池。');
});
test('api message resolves success ok in en locale', function (): void {
$request = Request::create('/api/v1/test', 'GET');
$request->attributes->set('lottery_locale', 'en');
expect(ApiMessage::successMessage($request))->toBe('OK');
});
test('api message resolves admin key', function (): void {
$request = Request::create('/api/v1/test', 'GET');
$request->attributes->set('lottery_locale', 'zh');
expect(ApiMessage::get($request, 'admin.site_access_denied'))
->toBe('无权访问该站点。');
});