release: WRNexusJS 0.8.0
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { expect, test } from "bun:test";
|
||||
import { readdirSync, readFileSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
import { parse } from "@wrnexus/syntax";
|
||||
|
||||
const componentsDir = join(import.meta.dir, "..", "components");
|
||||
|
||||
test("all auth package components parse", () => {
|
||||
for (const file of readdirSync(componentsDir).filter((name) => name.endsWith(".wrn"))) {
|
||||
expect(() => parse(readFileSync(join(componentsDir, file), "utf8"))).not.toThrow();
|
||||
}
|
||||
});
|
||||
|
||||
test("auth form blocks use WRNexus UI controls", () => {
|
||||
const formFiles = [
|
||||
"SignIn.wrn",
|
||||
"SignUp.wrn",
|
||||
"ForgotPassword.wrn",
|
||||
"ResetPassword.wrn",
|
||||
"OtpSignIn.wrn",
|
||||
"TwoFactorChallenge.wrn",
|
||||
"VerifyEmail.wrn",
|
||||
"VerifyPhone.wrn",
|
||||
"InvitationAccept.wrn",
|
||||
"MagicLinkSignIn.wrn",
|
||||
];
|
||||
for (const file of formFiles) {
|
||||
const source = readFileSync(join(componentsDir, file), "utf8");
|
||||
expect(source).toMatch(/<(?:Input|PinInput|StrongPassword|TogglePassword|Checkbox|Select)\b/);
|
||||
expect(source).toContain("<Button");
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user