test(server/similarity): reward map

This commit is contained in:
Elian Doran
2025-09-28 19:10:49 +03:00
parent 517bfd2c9a
commit 290d134d88
2 changed files with 21 additions and 1 deletions

View File

@@ -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`\
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<p>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.</p>
<h3>Heading 3</h3>
`
});
const map = buildRewardMap(note);
for (const key of [ "new", "note", "heading", "1", "2", "3" ]) {
expect(typeof map.get(key)).toStrictEqual("number");
}
});
});

View File

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