42 lines
1.3 KiB
PHP
42 lines
1.3 KiB
PHP
<?php
|
|
|
|
use App\Lottery\ErrorCode;
|
|
use Database\Seeders\CurrencySeeder;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
|
uses(RefreshDatabase::class);
|
|
|
|
beforeEach(function (): void {
|
|
$this->seed(CurrencySeeder::class);
|
|
});
|
|
|
|
test('public settings requires allowed group', function (): void {
|
|
$this->getJson('/api/v1/settings')
|
|
->assertStatus(400)
|
|
->assertJsonPath('code', ErrorCode::ClientHttpError->value);
|
|
|
|
$this->getJson('/api/v1/settings?group=wallet')
|
|
->assertStatus(400)
|
|
->assertJsonPath('code', ErrorCode::ClientHttpError->value);
|
|
|
|
$this->getJson('/api/v1/settings?group=currency')
|
|
->assertStatus(400)
|
|
->assertJsonPath('code', ErrorCode::ClientHttpError->value);
|
|
});
|
|
|
|
test('public settings returns frontend group only', function (): void {
|
|
\App\Models\LotterySetting::query()->updateOrCreate(
|
|
['setting_key' => 'frontend.play_rules_html_zh'],
|
|
[
|
|
'group_name' => 'frontend',
|
|
'value_json' => '<p>rules</p>',
|
|
'description_zh' => '规则',
|
|
],
|
|
);
|
|
|
|
$this->getJson('/api/v1/settings?group=frontend')
|
|
->assertOk()
|
|
->assertJsonPath('code', ErrorCode::Success->value)
|
|
->assertJsonFragment(['key' => 'frontend.play_rules_html_zh']);
|
|
});
|