18 lines
606 B
TypeScript
18 lines
606 B
TypeScript
// @vitest-environment node
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
import { createInvitationMagicLinkPassword } from "./invitation-password.server";
|
|
|
|
describe("createInvitationMagicLinkPassword", () => {
|
|
it("creates URL-safe high-entropy one-time passwords", () => {
|
|
const first = createInvitationMagicLinkPassword();
|
|
const second = createInvitationMagicLinkPassword();
|
|
|
|
expect(first).toMatch(/^[A-Za-z0-9_-]+$/u);
|
|
expect(first).toHaveLength(43);
|
|
expect(second).toMatch(/^[A-Za-z0-9_-]+$/u);
|
|
expect(second).toHaveLength(43);
|
|
expect(second).not.toBe(first);
|
|
});
|
|
});
|