diff --git a/apps/server/src/services/script.spec.ts b/apps/server/src/services/script.spec.ts index eaa116a7b..aa0fc527a 100644 --- a/apps/server/src/services/script.spec.ts +++ b/apps/server/src/services/script.spec.ts @@ -3,6 +3,7 @@ import { trimIndentation } from "@triliumnext/commons"; import becca from "../becca/becca.js"; import BBranch from "../becca/entities/bbranch.js"; import BNote from "../becca/entities/bnote.js"; +import { buildNote } from "../test/becca_easy_mocking.js"; import { note, NoteBuilder } from "../test/becca_mocking.js"; import cls from "./cls.js"; import { buildJsx, executeBundle, getScriptBundle } from "./script.js"; @@ -62,14 +63,15 @@ describe("Script", () => { }); describe("dayjs in backend scripts", () => { - const scriptNote = note("dayjs", { + const scriptNote = buildNote({ type: "code", mime: "application/javascript;env=backend", + content: "" }); it("dayjs is available", () => { cls.init(() => { - const bundle = getScriptBundle(scriptNote.note, true, "backend", [], `return api.dayjs().format("YYYY-MM-DD");`); + const bundle = getScriptBundle(scriptNote, true, "backend", [], `return api.dayjs().format("YYYY-MM-DD");`); expect(bundle).toBeDefined(); const result = executeBundle(bundle!); expect(result).toMatch(/^\d{4}-\d{2}-\d{2}$/); @@ -78,7 +80,7 @@ describe("Script", () => { it("dayjs is-same-or-before plugin exists", () => { cls.init(() => { - const bundle = getScriptBundle(scriptNote.note, true, "backend", [], `return api.dayjs("2023-10-01").isSameOrBefore(api.dayjs("2023-10-02"));`); + const bundle = getScriptBundle(scriptNote, true, "backend", [], `return api.dayjs("2023-10-01").isSameOrBefore(api.dayjs("2023-10-02"));`); expect(bundle).toBeDefined(); const result = executeBundle(bundle!); expect(result).toBe(true); diff --git a/apps/server/src/test/becca_easy_mocking.ts b/apps/server/src/test/becca_easy_mocking.ts index 1fe4cfdc0..8bce9efc9 100644 --- a/apps/server/src/test/becca_easy_mocking.ts +++ b/apps/server/src/test/becca_easy_mocking.ts @@ -1,8 +1,9 @@ -import utils from "../services/utils.js"; -import BNote from "../becca/entities/bnote.js"; +import { NoteType } from "@triliumnext/commons"; + import BAttribute from "../becca/entities/battribute.js"; import BBranch from "../becca/entities/bbranch.js"; -import { NoteType } from "@triliumnext/commons"; +import BNote from "../becca/entities/bnote.js"; +import utils from "../services/utils.js"; type AttributeDefinitions = { [key in `#${string}`]: string; }; type RelationDefinitions = { [key in `~${string}`]: string; }; @@ -12,6 +13,7 @@ interface NoteDefinition extends AttributeDefinitions, RelationDefinitions { title?: string; content?: string; type?: NoteType; + mime?: string; children?: NoteDefinition[]; } @@ -45,13 +47,13 @@ export function buildNote(noteDef: NoteDefinition) { noteId: noteDef.id ?? utils.randomString(12), title: noteDef.title ?? "New note", type: noteDef.type ?? "text", - mime: "text/html", + mime: noteDef.mime ?? "text/html", isProtected: false, blobId: "" }); // Handle content. - if (noteDef.content) { + if (noteDef.content !== undefined) { note.getContent = () => noteDef.content!; }