hub-gateway-note-facets.test.mjs
33 lines 1.3 KB
Raw
sha256:e4c529f14a0bb908c1caaaeb3f95f3623a1a82e636e7e3722ca2cd3dc9821263 security: npm audit fix pre-bridge 2026-07-29 Human 43 days ago
1 import { describe, it } from 'node:test';
2 import assert from 'node:assert/strict';
3 import {
4 materializeListFrontmatter,
5 deriveFacetsFromCanisterNotes,
6 } from '../hub/gateway/note-facets.mjs';
7
8 describe('note-facets', () => {
9 it('materializeListFrontmatter parses JSON string', () => {
10 const fm = materializeListFrontmatter('{"tags":"a,b","project":"p1"}');
11 assert.equal(fm.project, 'p1');
12 assert.ok(Array.isArray(fm.tags) === false);
13 });
14
15 it('deriveFacetsFromCanisterNotes collects folders tags projects', () => {
16 const facets = deriveFacetsFromCanisterNotes([
17 { path: 'inbox/x.md', frontmatter: '{"tags":"t1, t2","project":"myproj"}' },
18 { path: 'projects/launch/a.md', frontmatter: '{}' },
19 ]);
20 assert.ok(facets.folders.includes('inbox'));
21 assert.ok(facets.folders.includes('projects'));
22 assert.ok(facets.tags.includes('t1'));
23 assert.ok(facets.tags.includes('t2'));
24 assert.ok(facets.projects.includes('myproj'));
25 });
26
27 it('empty string frontmatter yields empty facets aside from folder from path', () => {
28 const facets = deriveFacetsFromCanisterNotes([{ path: 'inbox/y.md', frontmatter: '{}' }]);
29 assert.equal(facets.projects.length, 0);
30 assert.equal(facets.tags.length, 0);
31 assert.deepEqual(facets.folders, ['inbox']);
32 });
33 });
File History 6 commits
sha256:e4c529f14a0bb908c1caaaeb3f95f3623a1a82e636e7e3722ca2cd3dc9821263 security: npm audit fix pre-bridge 2026-07-29 Human 43 days ago
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor 59 days ago
sha256:873e30b7fafe601346295f8f4289f388f21d8f715f28584d5481899ba2b714fc Merge pull request #249 from aaronrene/muse-mirror Agent 76 days ago
sha256:d8c648b20a4d53b2673c5c082ee7edfa7b2fc9b11080832da1f38807b6bf940b fix(7C-L1b): route hosted delegation proposals through cani… Human minor 79 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 99 days ago