diff --git a/tests/e2e/character-workspace.spec.ts b/tests/e2e/character-workspace.spec.ts index 1f575bc..b8ec49a 100644 --- a/tests/e2e/character-workspace.spec.ts +++ b/tests/e2e/character-workspace.spec.ts @@ -91,7 +91,7 @@ test("mobile supports list, search, and detail while hiding detail mutation acti await loginThroughMockMode(page); // When - await expectActionAbsentAcrossInteractiveRoles(page, "AI 캐릭터 생성"); + await expect(page.getByRole("link", { name: "AI 캐릭터 생성" })).toBeVisible(); await page.getByLabel("검색어").fill("루나"); await expect(page.getByRole("link", { name: "루나 선택" })).toBeVisible(); await page.getByRole("link", { name: "루나 선택" }).click(); @@ -204,8 +204,8 @@ test("keyboard-only path reaches the edit form and dirty-leave dialog", async ({ // When await searchInput.focus(); await page.keyboard.type("루나"); - await expect(page.getByRole("link", { name: "루나 선택" })).toBeVisible(); - await pressTabUntilFocused(page, page.getByRole("link", { name: "루나 선택" })); + await expect(page.getByRole("link", { name: "루나", exact: true })).toBeVisible(); + await pressTabUntilFocused(page, page.getByRole("link", { name: "루나", exact: true })); await page.keyboard.press("Enter"); await expect(page.getByRole("heading", { name: "루나", exact: true })).toBeVisible(); await pressTabUntilFocused(page, page.getByRole("link", { name: "프로필" })); diff --git a/tests/e2e/resource-workflows.spec.ts b/tests/e2e/resource-workflows.spec.ts index 24ca484..5e509bb 100644 --- a/tests/e2e/resource-workflows.spec.ts +++ b/tests/e2e/resource-workflows.spec.ts @@ -36,7 +36,7 @@ test("active mock resources complete the cross-domain journey without uncontract await loginThroughMockMode(page); // When / Then - await page.getByRole("link", { name: "루나 선택" }).click(); + await page.getByRole("link", { name: "루나", exact: true }).click(); await expect(page.getByRole("heading", { name: "루나", exact: true })).toBeVisible(); await page.goto("/ai-characters/101/audio-contents");