feat: 增强环境配置与开发服务,支持局域网访问及币种管理

This commit is contained in:
2026-05-21 16:24:41 +08:00
parent 699d43fbd4
commit 7a6048de10
60 changed files with 1321 additions and 443 deletions

View File

@@ -1,16 +1,20 @@
<?php
use App\Models\AuditLog;
use App\Models\AdminUser;
use App\Models\Player;
use App\Models\PlayerWallet;
use App\Models\AuditLog;
use App\Models\AdminRole;
use App\Services\AuditLogger;
use App\Models\AdminUser;
use App\Models\PlayerWallet;
use Database\Seeders\CurrencySeeder;
use Illuminate\Support\Facades\Hash;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
beforeEach(function (): void {
$this->seed(CurrencySeeder::class);
});
function playerManageAdminToken(): string
{
$admin = AdminUser::query()->create([
@@ -180,3 +184,34 @@ test('player manage permission gates write and freeze APIs separately from view
->getJson('/api/v1/admin/players/'.$player->id.'/ticket-items')
->assertOk();
});
test('admin can update player default currency and validation rejects unknown code', function (): void {
$player = Player::query()->create([
'site_code' => 'main',
'site_player_id' => 'currency-1',
'username' => 'currency_user',
'nickname' => 'Currency',
'default_currency' => 'NPR',
'status' => 0,
]);
$token = playerManageAdminToken();
$this->withHeader('Authorization', 'Bearer '.$token)
->putJson('/api/v1/admin/players/'.$player->id, [
'default_currency' => 'usd',
])
->assertOk()
->assertJsonPath('data.default_currency', 'USD');
$this->assertDatabaseHas('players', [
'id' => $player->id,
'default_currency' => 'USD',
]);
$this->withHeader('Authorization', 'Bearer '.$token)
->putJson('/api/v1/admin/players/'.$player->id, [
'default_currency' => 'ABC',
])
->assertStatus(422);
});