fix(game-ui): 메인 턴과 장수 상태 표시를 보완
This commit is contained in:
@@ -946,7 +946,7 @@ const install = async (
|
||||
return requests;
|
||||
};
|
||||
|
||||
test('offers the Ref repeat range for general turns while keeping the chief range', async ({ page }) => {
|
||||
test('offers 12 repeat turns and six shift turns for general turns while keeping the chief range', async ({ page }) => {
|
||||
await install(page);
|
||||
await page.setViewportSize({ width: 1200, height: 900 });
|
||||
await page.goto('/');
|
||||
@@ -957,6 +957,11 @@ test('offers the Ref repeat range for general turns while keeping the chief rang
|
||||
await expect(generalRepeat.locator('.menu-items > button')).toHaveText(
|
||||
Array.from({ length: 12 }, (_, index) => `${index + 1}턴`)
|
||||
);
|
||||
const generalPull = generalEditor.locator('.bottom-shift-menu').first();
|
||||
await generalPull.locator('summary').click();
|
||||
await expect(generalPull.locator('.menu-items > button')).toHaveText(
|
||||
Array.from({ length: 6 }, (_, index) => `${index + 1}턴`)
|
||||
);
|
||||
|
||||
await page.setViewportSize({ width: 500, height: 900 });
|
||||
const mobileGeneralEditor = page.locator('[data-command-scope="general"]:visible');
|
||||
|
||||
@@ -1840,7 +1840,11 @@ test('tournament split main action follows recruitment, betting, finals, and tou
|
||||
const main = nationMenu.locator('[data-navigation-id="tournament"]');
|
||||
await expect(main).toHaveText(lifecycle.label);
|
||||
await expect(main).toHaveAttribute('href', `${basePath}${lifecycle.route}`);
|
||||
await expect(main).toHaveClass(/highlight/);
|
||||
if (lifecycle.stage === 1 || lifecycle.stage === 6) {
|
||||
await expect(main).toHaveClass(/highlight/);
|
||||
} else {
|
||||
await expect(main).not.toHaveClass(/highlight/);
|
||||
}
|
||||
|
||||
const toggle = nationMenu.locator('[data-menu-id="tournament-betting"]');
|
||||
await toggle.click();
|
||||
@@ -1851,9 +1855,12 @@ test('tournament split main action follows recruitment, betting, finals, and tou
|
||||
if (lifecycle.stage === 6) {
|
||||
await expect(tournamentItem).not.toHaveClass(/highlight/);
|
||||
await expect(bettingItem).toHaveClass(/highlight/);
|
||||
} else {
|
||||
} else if (lifecycle.stage === 1) {
|
||||
await expect(tournamentItem).toHaveClass(/highlight/);
|
||||
await expect(bettingItem).not.toHaveClass(/highlight/);
|
||||
} else {
|
||||
await expect(tournamentItem).not.toHaveClass(/highlight/);
|
||||
await expect(bettingItem).not.toHaveClass(/highlight/);
|
||||
}
|
||||
await page.keyboard.press('Escape');
|
||||
|
||||
@@ -1865,9 +1872,12 @@ test('tournament split main action follows recruitment, betting, finals, and tou
|
||||
if (lifecycle.stage === 6) {
|
||||
await expect(mobileTournament).not.toHaveClass(/highlight/);
|
||||
await expect(mobileBetting).toHaveClass(/highlight/);
|
||||
} else {
|
||||
} else if (lifecycle.stage === 1) {
|
||||
await expect(mobileTournament).toHaveClass(/highlight/);
|
||||
await expect(mobileBetting).not.toHaveClass(/highlight/);
|
||||
} else {
|
||||
await expect(mobileTournament).not.toHaveClass(/highlight/);
|
||||
await expect(mobileBetting).not.toHaveClass(/highlight/);
|
||||
}
|
||||
await page.keyboard.press('Escape');
|
||||
}
|
||||
@@ -2323,6 +2333,12 @@ test('main general card uses local turn time and command clock tracks corrected
|
||||
await expect(generalCard).toContainText('7분 남음');
|
||||
await expect(generalCard).toContainText('백마대');
|
||||
await expect(generalCard).toContainText('보통 120점(3)');
|
||||
const leadershipProgress = generalCard.locator('[data-rich-tooltip="stat-leadership"]');
|
||||
await leadershipProgress.hover();
|
||||
const statTooltip = page.locator('.tippy-box[data-theme~="sammo-rich"]');
|
||||
await expect(statTooltip).toBeVisible();
|
||||
await expect(statTooltip).toContainText('통솔 성장');
|
||||
await expect(statTooltip).toContainText('5 / 20');
|
||||
|
||||
const desktopGeometry = await title.evaluate((element) => {
|
||||
const rect = element.getBoundingClientRect();
|
||||
@@ -4239,6 +4255,18 @@ test('all main Lumen button families share the rounded pressed geometry', async
|
||||
await page.mouse.up();
|
||||
}
|
||||
|
||||
const generalPullMenu = page.locator('[data-main-target="commands"] .bottom-shift-menu').first();
|
||||
await generalPullMenu.locator('summary').click();
|
||||
await expect(generalPullMenu.locator('.menu-items > button')).toHaveText([
|
||||
'1턴',
|
||||
'2턴',
|
||||
'3턴',
|
||||
'4턴',
|
||||
'5턴',
|
||||
'6턴',
|
||||
]);
|
||||
await generalPullMenu.locator('summary').click();
|
||||
|
||||
state.permission = 0;
|
||||
await page.locator('.main-turn-controls').getByRole('button', { name: '갱 신' }).click();
|
||||
const disabledSecret = page.locator('.layout-desktop [data-navigation-id="secret-board"]');
|
||||
|
||||
Reference in New Issue
Block a user