explorer/test/explorer.test.ts
2026-02-07 03:02:18 +01:00

53 lines
1.7 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { Explorer } from "../src/components/Explorer";
describe("Explorer Component", () => {
it("should create an Explorer component with default options", () => {
const component = Explorer({});
expect(component).toBeDefined();
expect(typeof component).toBe("function");
});
it("should create an Explorer component with custom options", () => {
const component = Explorer({
title: "Custom Explorer",
folderDefaultState: "open",
folderClickBehavior: "collapse",
useSavedState: false,
});
expect(component).toBeDefined();
expect(typeof component).toBe("function");
});
it("should export component with css property", () => {
const component = Explorer({});
expect(component.css).toBeDefined();
expect(typeof component.css).toBe("string");
expect(component.css?.length).toBeGreaterThan(0);
});
it("should export component with afterDOMLoaded script", () => {
const component = Explorer({});
expect(component.afterDOMLoaded).toBeDefined();
expect(typeof component.afterDOMLoaded).toBe("string");
expect(component.afterDOMLoaded?.length).toBeGreaterThan(0);
});
});
describe("Explorer Manifest", () => {
it("should export a valid plugin manifest", async () => {
const { manifest } = await import("../src/manifest");
expect(manifest).toBeDefined();
expect(manifest.name).toBe("@quartz-community/explorer");
expect(manifest.version).toBeDefined();
expect(manifest.components).toBeDefined();
expect(typeof manifest.components).toBe("object");
expect(manifest.components.Explorer).toBeDefined();
expect(manifest.components.Explorer.name).toBe("Explorer");
});
});