From e49336a4e3963b8f1935bfc505a29a5ec5825d97 Mon Sep 17 00:00:00 2001 From: hided62 Date: Sun, 9 Aug 2026 03:36:20 +0000 Subject: [PATCH] test(frontend): exercise all Ref stat presets in Chromium --- app/game-frontend/e2e/joinLayout.spec.ts | 30 ++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/app/game-frontend/e2e/joinLayout.spec.ts b/app/game-frontend/e2e/joinLayout.spec.ts index aceb67a0..c336ed87 100644 --- a/app/game-frontend/e2e/joinLayout.spec.ts +++ b/app/game-frontend/e2e/joinLayout.spec.ts @@ -164,14 +164,36 @@ test('prioritizes core general fields and keeps context and inheritance progress '통솔지력형', '무력지력형', ]); - await page.evaluate(() => { - const values = [0.9, 0.8, 0.5]; - Math.random = () => values.shift() ?? 0.5; - }); + const setRandomValues = async (values: number[]) => { + await page.evaluate((nextValues) => { + let index = 0; + Math.random = () => nextValues[index++] ?? nextValues.at(-1) ?? 0.5; + }, values); + }; + + await setRandomValues([0.2, 0.4, 0.6]); + await statActions.getByRole('button', { name: '랜덤형', exact: true }).click(); + await expect(page.locator('.create-form').getByLabel('통솔')).toHaveValue('36'); + await expect(page.locator('.create-form').getByLabel('무력')).toHaveValue('55'); + await expect(page.locator('.create-form').getByLabel('지력')).toHaveValue('74'); + + await setRandomValues([0.9, 0.8, 0.5]); await statActions.getByRole('button', { name: '통솔무력형' }).click(); await expect(page.locator('.create-form').getByLabel('통솔')).toHaveValue('75'); await expect(page.locator('.create-form').getByLabel('무력')).toHaveValue('75'); await expect(page.locator('.create-form').getByLabel('지력')).toHaveValue('15'); + + await setRandomValues([0.9, 0.5, 0.8]); + await statActions.getByRole('button', { name: '통솔지력형' }).click(); + await expect(page.locator('.create-form').getByLabel('통솔')).toHaveValue('75'); + await expect(page.locator('.create-form').getByLabel('무력')).toHaveValue('15'); + await expect(page.locator('.create-form').getByLabel('지력')).toHaveValue('75'); + + await setRandomValues([0.5, 0.9, 0.8]); + await statActions.getByRole('button', { name: '무력지력형' }).click(); + await expect(page.locator('.create-form').getByLabel('통솔')).toHaveValue('15'); + await expect(page.locator('.create-form').getByLabel('무력')).toHaveValue('75'); + await expect(page.locator('.create-form').getByLabel('지력')).toHaveValue('75'); await expect(page.locator('.stat-summary')).toContainText('능력치 합계: 165'); await expect(advanced).not.toHaveAttribute('open'); await expect(page.getByText('전투 특기 선택')).toBeHidden();