release: WRNexusJS 0.8.0
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-02 23:18:51 +05:30
parent 87507edf59
commit 586a6db8ff
625 changed files with 243608 additions and 11210 deletions
+21
View File
@@ -0,0 +1,21 @@
import { expect, test } from "bun:test";
import { compile } from "../src/index.ts";
test("compiles schema-backed actions and progressively enhanced forms", () => {
const output = compile(
`import { CreateUserSchema } from "./schema";
page Users {
action createUser using CreateUserSchema { invalidate("users"); return { id: input.name } }
view { <form @submit='createUser'><input name='name' /></form> }
}`,
"Users.wrn",
).code;
expect(output).toContain('data-wrn-action="createUser"');
expect(output).toContain('name="_wrnexus_action" value="createUser"');
expect(output).toContain("schema: CreateUserSchema");
expect(output).toContain("__wrnexusInvalidatedTags");
expect(output).toContain(
"createActionClient<InferSchema<typeof CreateUserSchema>, Awaited<ReturnType<typeof createUser>>>",
);
expect(output).not.toContain("data-on-submit");
});