From 290d134d881648fafccb5eef4cce13dcfb4d4cf1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 28 Sep 2025 19:10:49 +0300 Subject: [PATCH] test(server/similarity): reward map --- apps/server/src/becca/similarity.spec.ts | 20 ++++++++++++++++++++ apps/server/src/becca/similarity.ts | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 apps/server/src/becca/similarity.spec.ts diff --git a/apps/server/src/becca/similarity.spec.ts b/apps/server/src/becca/similarity.spec.ts new file mode 100644 index 000000000..4809e1f13 --- /dev/null +++ b/apps/server/src/becca/similarity.spec.ts @@ -0,0 +1,20 @@ +import { trimIndentation } from "@triliumnext/commons"; +import { buildNote } from "../test/becca_easy_mocking"; +import { buildRewardMap } from "./similarity"; + +describe("buildRewardMap", () => { + it("calculates heading rewards", () => { + const note = buildNote({ + content: trimIndentation`\ +

Heading 1

+

Heading 2

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eget purus et eros faucibus dignissim. Vestibulum lacinia urna quis eleifend consectetur. Aenean elementum pellentesque ultrices. Donec tincidunt, felis vel pretium suscipit, nibh lorem gravida est, quis tincidunt metus nibh a tortor. Aenean erat libero, faucibus ac mattis non, imperdiet eget nunc. Pellentesque aliquam molestie nibh eu interdum. Sed augue velit, varius id lacinia ut, dictum in dolor. Praesent posuere quam vel porta eleifend. Nullam porta tempus convallis. Aliquam auctor dui nec consectetur suscipit. Mauris laoreet commodo dapibus. Donec sodales justo velit, at placerat nulla cursus sit amet. Aliquam erat volutpat. Donec nec mauris iaculis, ullamcorper lectus et, feugiat arcu. Nunc vel ligula quis lectus efficitur porta non at nulla.

+

Heading 3

+ ` + }); + const map = buildRewardMap(note); + for (const key of [ "new", "note", "heading", "1", "2", "3" ]) { + expect(typeof map.get(key)).toStrictEqual("number"); + } + }); +}); diff --git a/apps/server/src/becca/similarity.ts b/apps/server/src/becca/similarity.ts index dc0a4c3f8..11bfd93ed 100644 --- a/apps/server/src/becca/similarity.ts +++ b/apps/server/src/becca/similarity.ts @@ -44,7 +44,7 @@ function filterUrlValue(value: string) { .replace(/(\.net|\.com|\.org|\.info|\.edu)/gi, ""); } -function buildRewardMap(note: BNote) { +export function buildRewardMap(note: BNote) { // Need to use Map instead of object: https://github.com/zadam/trilium/issues/1895 const map = new Map();