UNPKG

@seasketch/geoprocessing

Version:

Geoprocessing and reporting framework for SeaSketch 2.0

83 lines 3.7 kB
import path from "node:path"; import fs from "fs-extra"; import { createProject } from "./createProject.js"; import { describe, it, expect, afterAll } from "vitest"; const rootPath = `${import.meta.dirname}/../__test__`; describe("createProject", () => { afterAll(async () => { await fs.emptyDirSync(rootPath); // Cleanup }); it("createProject - should create empty project", async () => { const projectName = "test-project-empty"; const projectPath = path.join(rootPath, projectName); await createProject({ name: projectName, description: "Test project", author: "Test", email: "test@test.com", license: "UNLICENSED", organization: "Test Org", repositoryUrl: "https://github.com/test/test-project", region: "us-west-1", languages: ["EN"], bboxMaxLat: 0, bboxMinLat: 0, bboxMaxLng: 0, bboxMinLng: 0, }, false, rootPath); const packageJson = JSON.parse(fs.readFileSync(path.join(projectPath, "package.json")).toString()); expect(packageJson.name).toBe(projectName); expect(packageJson.description).toBe("Test project"); expect(packageJson.license).toBe("UNLICENSED"); expect(packageJson.author).toBe("Test"); const gpConfig = JSON.parse(fs.readFileSync(projectPath + "/project/geoprocessing.json").toString()); expect(gpConfig.author).toBe("Test <test@test.com>"); expect(gpConfig.organization).toBe("Test Org"); expect(gpConfig.region).toBe("us-west-1"); expect(gpConfig.preprocessingFunctions.length).toBe(0); expect(gpConfig.geoprocessingFunctions.length).toBe(0); expect(gpConfig.clients.length).toBe(0); }, 120_000); it("createProject - should create project", async () => { const projectName = "test-project-empty"; await createProject({ name: projectName, description: "Test project", author: "Test", email: "test@test.com", license: "UNLICENSED", organization: "Test Org", repositoryUrl: "https://github.com/test/test-project", region: "us-west-1", languages: ["EN"], }, false, rootPath); }, 120_000); it("createProject - should create empty project with all defaults", async () => { const projectName = "test-project-empty-defaults"; const projectPath = path.join(rootPath, projectName); await createProject({ name: projectName, description: "", author: "", email: "", license: "UNLICENSED", organization: "", repositoryUrl: "", region: "us-west-1", languages: ["EN"], }, false, rootPath); const packageJson = JSON.parse(fs.readFileSync(path.join(projectPath, "package.json")).toString()); expect(packageJson.name).toBe(projectName); expect(packageJson.description).toBe(""); expect(packageJson.license).toBe("UNLICENSED"); expect(packageJson.author).toBe(""); const gpConfig = JSON.parse(fs.readFileSync(projectPath + "/project/geoprocessing.json").toString()); expect(gpConfig.author).toBe(""); expect(gpConfig.organization).toBe(""); expect(gpConfig.region).toBe("us-west-1"); expect(gpConfig.preprocessingFunctions.length).toBe(0); expect(gpConfig.geoprocessingFunctions.length).toBe(0); expect(gpConfig.clients.length).toBe(0); }, 120_000); }); //# sourceMappingURL=createProject.test.js.map