feat(gateway): 프로필별 첫 기수 번호를 관리한다
첫 기수 번호를 완료 게임 수의 기준값으로 적용하고 0기를 API와 화면에서 보존한다. 시즌 번호와 독립된 RESET 계약을 관리 패널, 테스트, 운영 문서에 반영한다.
This commit is contained in:
@@ -1176,20 +1176,29 @@ test('edits server reset defaults through profile metadata settings', async ({ p
|
||||
expect(request).toContain('"npcMode":2');
|
||||
});
|
||||
|
||||
test('stores event season zero from server metadata settings', async ({ page }) => {
|
||||
test('stores event season zero and first game zero from server metadata settings', async ({ page }) => {
|
||||
const state: FixtureState = { operations: [], gatewayOperations: [], runtimeRunning: true, requestBodies: [] };
|
||||
await installFixture(page, state);
|
||||
|
||||
await page.goto('admin/servers/che%3Adefault');
|
||||
const nextSeasonInput = page.getByTestId('next-season-idx');
|
||||
const firstGameInput = page.getByTestId('first-game-idx');
|
||||
await nextSeasonInput.fill('0');
|
||||
await firstGameInput.fill('0');
|
||||
await expect(nextSeasonInput).toHaveValue('0');
|
||||
await expect(firstGameInput).toHaveValue('0');
|
||||
expect(
|
||||
await nextSeasonInput.evaluate((element: HTMLInputElement) => ({
|
||||
valid: element.validity.valid,
|
||||
valueAsNumber: element.valueAsNumber,
|
||||
}))
|
||||
).toEqual({ valid: true, valueAsNumber: 0 });
|
||||
expect(
|
||||
await firstGameInput.evaluate((element: HTMLInputElement) => ({
|
||||
valid: element.validity.valid,
|
||||
valueAsNumber: element.valueAsNumber,
|
||||
}))
|
||||
).toEqual({ valid: true, valueAsNumber: 0 });
|
||||
await page.getByPlaceholder('변경 사유 (필수)').fill('prepare event season');
|
||||
await page.getByRole('button', { name: '메타 저장' }).click();
|
||||
|
||||
@@ -1200,6 +1209,7 @@ test('stores event season zero from server metadata settings', async ({ page })
|
||||
state.requestBodies.find((entry) => entry.operation === 'admin.profiles.updateMeta')?.body
|
||||
);
|
||||
expect(request).toContain('"nextSeasonIdx":0');
|
||||
expect(request).toContain('"firstGameIdx":0');
|
||||
await expect(page.getByTestId('action-toast').filter({ hasText: '메타 저장 완료' })).toBeVisible();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user