feat : update
This commit is contained in:
@@ -44,22 +44,25 @@ describe("administrative security boundaries", () => {
|
||||
expect(source).toContain('endpoints: ["/sign-in/email", "/sign-up/email"]');
|
||||
});
|
||||
|
||||
it("requires a Turnstile token before submitting administrator login outside development", async () => {
|
||||
it("requires a Turnstile token before submitting account login outside development", async () => {
|
||||
const source = await readFile(
|
||||
new URL("../components/admin/login-card.tsx", import.meta.url),
|
||||
new URL("../components/auth/account-form.tsx", import.meta.url),
|
||||
"utf8",
|
||||
);
|
||||
expect(source).toContain('const turnstileEnabled = process.env.NODE_ENV !== "development";');
|
||||
const tokenGuard = "if (turnstileEnabled && !turnstileToken) return;";
|
||||
expect(source).toContain(tokenGuard);
|
||||
expect(source.indexOf(tokenGuard)).toBeLessThan(
|
||||
expect(source).toContain('const captcha = process.env.NODE_ENV !== "development";');
|
||||
const loginGuard = "if (busy || (!register && captcha && !token)) return;";
|
||||
const registrationGuard = "if (!form?.reportValidity() || (captcha && !token)) return;";
|
||||
expect(source).toContain(loginGuard);
|
||||
expect(source).toContain(registrationGuard);
|
||||
expect(source.indexOf(loginGuard)).toBeLessThan(
|
||||
source.indexOf("await authClient.signIn.email("),
|
||||
);
|
||||
expect(source).toMatch(
|
||||
/headers:\s*turnstileEnabled && turnstileToken\s*\?\s*\{ "x-captcha-response": turnstileToken \}\s*:\s*undefined/u,
|
||||
expect(source.indexOf(registrationGuard)).toBeLessThan(
|
||||
source.indexOf("await authClient.signUp.email("),
|
||||
);
|
||||
expect(source).toContain("disabled={loading || (turnstileEnabled && !turnstileToken)}");
|
||||
expect(source).toContain('"expired-callback": () => setTurnstileToken(null)');
|
||||
expect(source).toContain("resetTurnstile();");
|
||||
expect(source).toContain('"x-captcha-response": token');
|
||||
expect(source).toContain("disabled={busy || (captcha && !token && !pendingEmail)}");
|
||||
expect(source).toContain('"expired-callback": () => setToken("")');
|
||||
expect(source).toContain("window.turnstile?.reset(widget.current)");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user