test(server): fix test depending on note content

This commit is contained in:
Elian Doran 2025-12-23 13:38:38 +02:00
parent 9332b9ca8f
commit a3fca323c7
No known key found for this signature in database
2 changed files with 12 additions and 8 deletions

View File

@ -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);

View File

@ -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!;
}