Started refactoring, added prettier and checks and reformatted project, added cspell and checks and custom project words, beginning of robotic oceanographic surface sampler content
This commit is contained in:
@@ -1,39 +1,45 @@
|
||||
import {expect, test} from "vitest";
|
||||
import { expect, test } from "vitest";
|
||||
|
||||
import {siteLayout, getPaths} from "@data/site-layout.ts";
|
||||
import { siteLayout, getPaths } from "@data/site-layout.ts";
|
||||
|
||||
export const setDifference = <T>(a: Set<T>, b: Set<T>) =>
|
||||
new Set([...a].filter(x => !b.has(x)));
|
||||
new Set([...a].filter((x) => !b.has(x)));
|
||||
|
||||
// Paths that should be known to Astro statically
|
||||
const astroStaticPaths = new Set(
|
||||
Object.keys(import.meta.glob("/src/pages/**/*.astro"))
|
||||
.map((path) =>
|
||||
path
|
||||
.replace("/src/pages", "")
|
||||
.replace(/index\.astro$/, "")
|
||||
.replace(/\.astro$|\.md$/, "")
|
||||
.replace(/\/$/, "")
|
||||
|| "/"
|
||||
));
|
||||
Object.keys(import.meta.glob("/src/pages/**/*.astro")).map(
|
||||
(path) =>
|
||||
path
|
||||
.replace("/src/pages", "")
|
||||
.replace(/index\.astro$/, "")
|
||||
.replace(/\.astro$|\.md$/, "")
|
||||
.replace(/\/$/, "") || "/",
|
||||
),
|
||||
);
|
||||
|
||||
// Paths that exist in the site layout
|
||||
const siteLayoutPaths = new Set([...getPaths(siteLayout), ...getPaths(siteLayout, [], true)]);
|
||||
const siteLayoutPaths = new Set([
|
||||
...getPaths(siteLayout),
|
||||
...getPaths(siteLayout, [], true),
|
||||
]);
|
||||
|
||||
test('Astro Paths Not Empty', () => {
|
||||
expect(astroStaticPaths).not.toHaveLength(0);
|
||||
test("Astro Paths Not Empty", () => {
|
||||
expect(astroStaticPaths).not.toHaveLength(0);
|
||||
});
|
||||
|
||||
test('Site Layout Paths Not Empty', () => {
|
||||
expect(siteLayoutPaths).not.toHaveLength(0);
|
||||
test("Site Layout Paths Not Empty", () => {
|
||||
expect(siteLayoutPaths).not.toHaveLength(0);
|
||||
});
|
||||
|
||||
test('Pages Missing from Site Layout', () => {
|
||||
const astroNotLayoutPaths = setDifference(astroStaticPaths, siteLayoutPaths);
|
||||
expect(astroNotLayoutPaths).toHaveLength(0);
|
||||
test("Pages Missing from Site Layout", () => {
|
||||
const astroNotLayoutPaths = setDifference(astroStaticPaths, siteLayoutPaths);
|
||||
expect(astroNotLayoutPaths).toHaveLength(0);
|
||||
});
|
||||
|
||||
test('Pages Missing from Astro Paths', () => {
|
||||
const siteLayoutNotAstroPaths = setDifference(siteLayoutPaths, astroStaticPaths);
|
||||
expect(siteLayoutNotAstroPaths).toHaveLength(0);
|
||||
test("Pages Missing from Astro Paths", () => {
|
||||
const siteLayoutNotAstroPaths = setDifference(
|
||||
siteLayoutPaths,
|
||||
astroStaticPaths,
|
||||
);
|
||||
expect(siteLayoutNotAstroPaths).toHaveLength(0);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user