From e547e2b4a6c3f6ce2527cd1547c3b7b281c8b34d Mon Sep 17 00:00:00 2001 From: kang Date: Mon, 1 Jun 2026 13:38:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=B4=A7=E5=B8=81?= =?UTF-8?q?=E7=BB=84=E8=87=B3=E8=AE=BE=E7=BD=AE=E6=8E=A7=E5=88=B6=E5=99=A8?= =?UTF-8?q?=E5=B9=B6=E6=9B=B4=E6=96=B0=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 SettingIndexController 中新增 'currency' 组,以支持货币相关设置。 - 更新 PublicSettingsApiTest,新增测试用例以验证货币组的返回数据,确保 API 正确处理货币设置。 --- .../Api/V1/Setting/SettingIndexController.php | 1 + tests/Feature/PublicSettingsApiTest.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/Http/Controllers/Api/V1/Setting/SettingIndexController.php b/app/Http/Controllers/Api/V1/Setting/SettingIndexController.php index 46ce746..f8a174e 100644 --- a/app/Http/Controllers/Api/V1/Setting/SettingIndexController.php +++ b/app/Http/Controllers/Api/V1/Setting/SettingIndexController.php @@ -17,6 +17,7 @@ final class SettingIndexController extends Controller /** @var list */ private const PUBLIC_GROUPS = [ 'frontend', + 'currency', ]; public function __invoke(Request $request): JsonResponse diff --git a/tests/Feature/PublicSettingsApiTest.php b/tests/Feature/PublicSettingsApiTest.php index 278c3d4..9015c59 100644 --- a/tests/Feature/PublicSettingsApiTest.php +++ b/tests/Feature/PublicSettingsApiTest.php @@ -20,6 +20,22 @@ test('public settings requires allowed group', function (): void { ->assertJsonPath('code', ErrorCode::ClientHttpError->value); }); +test('public settings returns currency group', function (): void { + \App\Models\LotterySetting::query()->updateOrCreate( + ['setting_key' => 'currency.display_decimals'], + [ + 'group_name' => 'currency', + 'value_json' => 3, + 'description_zh' => '展示小数位', + ], + ); + + $this->getJson('/api/v1/settings?group=currency') + ->assertOk() + ->assertJsonPath('code', ErrorCode::Success->value) + ->assertJsonFragment(['key' => 'currency.display_decimals', 'value' => 3]); +}); + test('public settings returns frontend group only', function (): void { \App\Models\LotterySetting::query()->updateOrCreate( ['setting_key' => 'frontend.play_rules_html_zh'],