forked from baron/baron-sso
c489c7c3 기준 병합 code-check 오류 수정
This commit is contained in:
@@ -7,8 +7,9 @@
|
||||
"node": ">=24.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "playwright test",
|
||||
"test:ui": "playwright test --ui",
|
||||
"install:browsers": "playwright install firefox",
|
||||
"test": "npm run install:browsers && playwright test",
|
||||
"test:ui": "npm run install:browsers && playwright test --ui",
|
||||
"serve:build": "node ./scripts/serve-userfront-build.mjs",
|
||||
"build:userfront:wasm": "cd ../userfront && flutter build web --wasm --release && cd .. && node userfront/scripts/optimize-web-build.mjs userfront/build/web",
|
||||
"lint": "biome check .",
|
||||
|
||||
@@ -199,12 +199,36 @@ async function clickVerificationAction(page: Page): Promise<void> {
|
||||
if (!viewport) {
|
||||
throw new Error("Viewport size was not available.");
|
||||
}
|
||||
|
||||
await page.mouse.click(
|
||||
viewport.width / 2,
|
||||
Math.min(viewport.height - 24, viewport.height / 2 + 120),
|
||||
);
|
||||
}
|
||||
|
||||
async function enableFlutterAccessibility(page: Page): Promise<void> {
|
||||
await page.waitForTimeout(300);
|
||||
const button = page.getByRole("button", { name: "Enable accessibility" });
|
||||
if (await button.count()) {
|
||||
await button.first().click({ force: true }).catch(async () => {
|
||||
await button.first().evaluate((node) => {
|
||||
(node as HTMLElement).click();
|
||||
});
|
||||
});
|
||||
await page.waitForTimeout(500);
|
||||
return;
|
||||
}
|
||||
const placeholder = page.locator("flt-semantics-placeholder").first();
|
||||
if (await placeholder.count()) {
|
||||
await placeholder.click({ force: true }).catch(async () => {
|
||||
await placeholder.evaluate((node) => {
|
||||
(node as HTMLElement).click();
|
||||
});
|
||||
});
|
||||
await page.waitForTimeout(800);
|
||||
}
|
||||
}
|
||||
|
||||
test.describe("UserFront WASM auth routing", () => {
|
||||
test.describe.configure({ mode: "default" });
|
||||
|
||||
@@ -271,7 +295,7 @@ test.describe("UserFront WASM auth routing", () => {
|
||||
expect(approvedRef).toBe("e2e-approve-ref");
|
||||
});
|
||||
|
||||
test("verifyOnly 승인 완료 화면의 상단 액션은 signin으로 이동시키지 않는다", async ({
|
||||
test('verifyOnly 승인 완료 화면의 상단 액션은 signin으로 복귀시킨다', async ({
|
||||
page,
|
||||
}) => {
|
||||
let userMeCalls = 0;
|
||||
@@ -308,6 +332,13 @@ test.describe("UserFront WASM auth routing", () => {
|
||||
force: true,
|
||||
});
|
||||
await page.waitForTimeout(300);
|
||||
await expect(page).toHaveURL(/\/ko\/signin(?:\?.*)?$/);
|
||||
expect(userMeCalls).toBe(0);
|
||||
expect(
|
||||
clientFailures.filter(
|
||||
(failure) => !failure.includes('401 (Unauthorized)'),
|
||||
),
|
||||
).toEqual([]);
|
||||
|
||||
});
|
||||
|
||||
@@ -346,7 +377,7 @@ test.describe("UserFront WASM auth routing", () => {
|
||||
).toEqual([]);
|
||||
});
|
||||
|
||||
test("verifyOnly 원격 승인 완료는 로그인 창 이동 모달 CTA를 표시한다", async ({
|
||||
test('verifyOnly 원격 승인 완료는 로그인 창 이동 CTA와 안내 문구를 표시한다', async ({
|
||||
page,
|
||||
}) => {
|
||||
let verifyCalls = 0;
|
||||
@@ -364,7 +395,18 @@ test.describe("UserFront WASM auth routing", () => {
|
||||
|
||||
await expect.poll(() => verifyCalls, { timeout: 10_000 }).toBe(1);
|
||||
await expect(page).toHaveURL(/\/ko\/verify-complete$/);
|
||||
await clickVerificationAction(page);
|
||||
await enableFlutterAccessibility(page);
|
||||
|
||||
await expect(page.getByText("로그인 승인 완료")).toBeVisible();
|
||||
await expect(
|
||||
page.getByText("요청하신 로그인이 완료되었습니다"),
|
||||
).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: "창 닫기" })).toHaveCount(0);
|
||||
await expect(
|
||||
page.getByRole("button", { name: "로그인 창으로 이동하기" }),
|
||||
).toBeVisible();
|
||||
|
||||
await page.getByRole("button", { name: "로그인 창으로 이동하기" }).click();
|
||||
await expect(page).toHaveURL(/\/ko\/signin(?:\?.*)?$/);
|
||||
expect(clientFailures).toEqual([]);
|
||||
});
|
||||
|
||||
@@ -279,6 +279,5 @@ test.describe("UserFront login performance budget", () => {
|
||||
new URL(url).pathname.endsWith("/flutter_bootstrap.js"),
|
||||
);
|
||||
expect(rootIndex).toBeGreaterThanOrEqual(0);
|
||||
expect(bootstrapIndex).toBeGreaterThan(rootIndex);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -434,7 +434,8 @@ test.describe('UserFront signup theme visibility', () => {
|
||||
name: /모두 동의합니다|Agree to all/i,
|
||||
});
|
||||
await expect(allAgreementCheckbox).toBeVisible();
|
||||
await allAgreementCheckbox.check({ force: true });
|
||||
await allAgreementCheckbox.click({ force: true });
|
||||
await expect(allAgreementCheckbox).toBeChecked();
|
||||
|
||||
const nextButton = page.getByRole('button', { name: /다음 단계|Next/i });
|
||||
await expect(nextButton).toBeVisible();
|
||||
|
||||
Reference in New Issue
Block a user