proposal-hints-create-context.test.mjs
31 lines 1.3 KB
Raw
sha256:8d46372e39d2d5a54fd93a8b1c27922fe0d9b22a72197345f1d2c71701cc4ce2 feat(auth): persistent login system + C7 session introspection Human minor ⚠ breaking 16 days ago
1 import test from 'node:test';
2 import assert from 'node:assert/strict';
3 import { proposalDataForHostedReviewHintsFromCreate } from '../hub/gateway/proposal-hints-create-context.mjs';
4
5 test('returns null when no proposal_id', () => {
6 assert.equal(proposalDataForHostedReviewHintsFromCreate({ path: 'a.md' }, { body: 'x' }), null);
7 });
8
9 test('uses canister body when present', () => {
10 const out = proposalDataForHostedReviewHintsFromCreate(
11 { proposal_id: 'p1', path: 'n.md', body: 'from-canister' },
12 { path: 'n.md', body: 'from-client' },
13 );
14 assert.deepEqual(out, { path: 'n.md', body: 'from-canister' });
15 });
16
17 test('falls back to client body when canister omits body', () => {
18 const out = proposalDataForHostedReviewHintsFromCreate(
19 { proposal_id: 'p1', path: 'projects/x.md', status: 'proposed' },
20 { path: 'projects/x.md', body: 'client markdown', source: 'hub_ui' },
21 );
22 assert.deepEqual(out, { path: 'projects/x.md', body: 'client markdown' });
23 });
24
25 test('falls back to client body when canister returns empty string', () => {
26 const out = proposalDataForHostedReviewHintsFromCreate(
27 { proposal_id: 'p1', path: 'p.md', body: '' },
28 { path: 'p.md', body: 'filled from client' },
29 );
30 assert.deepEqual(out, { path: 'p.md', body: 'filled from client' });
31 });
File History 2 commits
sha256:8d46372e39d2d5a54fd93a8b1c27922fe0d9b22a72197345f1d2c71701cc4ce2 feat(auth): persistent login system + C7 session introspection Human minor 16 days ago