Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions e2e/cli-generate.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ describe("nf generate (TypeScript, no server)", () => {
"--strict",
"--no-server",
"--init-functions",
"--no-skip-install",
"--skip-install",
"--no-docker",
"-d",
projectDir,
Expand Down Expand Up @@ -208,6 +208,16 @@ describe("nf generate (TypeScript, no server)", () => {
it("should not generate server directory", async () => {
expect(existsSync(resolve(appDir, "server"))).toBe(false);
});

it("should generate client editor main.ts", async () => {
await runCli(["generate", "-d", appDir, "--editor"]);

const content = readFileSync(resolve(appDir, ".nanoforge/editor/client/main.ts"), "utf-8");

expect(content).toContain("NanoforgeFactory.createClient()");
expect(content).toContain('import { ECSClientLibrary } from "@nanoforge-dev/ecs-client"');
expect(content).toContain('from "@nanoforge-dev/core-editor"');
});
});

describe("nf generate (TypeScript, with server)", () => {
Expand All @@ -228,7 +238,7 @@ describe("nf generate (TypeScript, with server)", () => {
"--no-strict",
"--server",
"--init-functions",
"--no-skip-install",
"--skip-install",
"--no-docker",
"-d",
projectDir,
Expand Down
23 changes: 5 additions & 18 deletions e2e/cli-new-config.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,8 @@ describe("nf new config output (no server)", () => {
);
});

it("should have client build config", () => {
expect(config.client.build.entryFile).toBe("client/main.ts");
expect(config.client.build.outDir).toBe(".nanoforge/client");
});

it("should have client runtime config", () => {
expect(config.client.runtime.dir).toBe(".nanoforge/client");
it("should have client config", () => {
expect(config.client.enable).toBe(true);
});

it("should not have server enabled", () => {
Expand Down Expand Up @@ -90,18 +85,8 @@ describe("nf new config output (with server)", () => {
expect(config.server.enable).toBe(true);
});

it("should have server build config", () => {
expect(config.server.build.entryFile).toBe("server/main.ts");
expect(config.server.build.outDir).toBe(".nanoforge/server");
});

it("should have server runtime config", () => {
expect(config.server.runtime.dir).toBe(".nanoforge/server");
});

it("should have client build config", () => {
expect(config.client.build.entryFile).toBe("client/main.ts");
expect(config.client.build.outDir).toBe(".nanoforge/client");
expect(config.client.enable).toBe(true);
});
});

Expand All @@ -125,6 +110,7 @@ describe("nf new package.json output", () => {
"--no-init-functions",
"--skip-install",
"--no-docker",
"--editor",
"-d",
projectDir,
]);
Expand All @@ -139,5 +125,6 @@ describe("nf new package.json output", () => {
it("should have nanoforge dependencies", () => {
const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
expect(allDeps).toHaveProperty("@nanoforge-dev/core");
expect(allDeps).toHaveProperty("@nanoforge-dev/core-editor");
});
});
4 changes: 2 additions & 2 deletions e2e/cli-new.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ describe("nf new (TypeScript, no server)", () => {

const config = JSON.parse(readFileSync(configPath, "utf-8"));
expect(config.client).toBeDefined();
expect(config.client.build.entryFile).toBe("client/main.ts");
expect(config.client.enable).toBe(true);
});

it("should generate package.json", () => {
Expand Down Expand Up @@ -228,7 +228,7 @@ describe("nf new (with typescript with docker option)", () => {

const config = JSON.parse(readFileSync(configPath, "utf-8"));
expect(config.client).toBeDefined();
expect(config.client.build.entryFile).toBe("client/main.ts");
expect(config.client.enable).toBe(true);
});

it("should generate package.json", () => {
Expand Down
Loading
Loading