- Timestamp:
- 08/18/2026 06:47:58 PM (3 weeks ago)
- Branches:
- main
- Children:
- f5cf299
- Parents:
- b1b7652
- git-author:
- Bart <bart@…> (08/17/2026 07:37:17 PM)
- git-committer:
- Bart <bart@…> (08/18/2026 06:47:58 PM)
- File:
-
- 1 edited
-
test/post-access.test.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
test/post-access.test.js
rb1b7652 r8b65e67 96 96 assert.equal(paidTeaser(post({ excerpt: 'zelf geschreven' })), 'zelf geschreven'); 97 97 }); 98 99 // ── Wat de tijdlijn krijgt ──────────────────────────────────────────────── 100 // De tijdlijn toont hele berichten, dus een gesloten bericht moet zijn plek 101 // houden ZONDER dat de tekst meereist. Dat is geen sjabloonkwestie: wat niet 102 // gerenderd wordt, kan ook niet per ongeluk getoond worden. 103 104 const { postEntry } = await import('../src/services/PostAccessService.js'); 105 const renderBody = (p) => `<div>GEHEIM: ${p.content}</div>`; 106 107 test('een open bericht krijgt zijn lijf', () => { 108 const e = postEntry(post(), { user: VREEMDE, site: SITE }, { renderBody }); 109 assert.equal(e.access, 'full'); 110 assert.match(e.content_html, /GEHEIM/); 111 assert.equal(e.teaser, null, 'geen teaser NAAST het lijf'); 112 }); 113 114 test('een betaald bericht reist zonder tekst', () => { 115 const e = postEntry(post({ paid: 1 }), { user: VREEMDE, site: SITE }, { renderBody }); 116 assert.equal(e.access, 'paid'); 117 assert.equal(e.content_html, null, 'het lijf wordt niet eens gerenderd'); 118 assert.match(e.teaser, /eerste alinea/); 119 assert.ok(!JSON.stringify(e).includes('tweede alinea'), 'en niets erachter lekt mee'); 120 }); 121 122 test('een fan-bericht ook niet', () => { 123 const e = postEntry(post({ fan_only: 1 }), { user: VREEMDE, site: SITE }, { renderBody }); 124 assert.equal(e.access, 'fan'); 125 assert.equal(e.content_html, null); 126 }); 127 128 test('een concept levert helemaal niets op', () => { 129 const e = postEntry(post({ status: 'draft' }), { user: VREEMDE, site: SITE }, { renderBody }); 130 assert.equal(e.access, 'forbidden'); 131 assert.equal(e.content_html, null); 132 assert.equal(e.teaser, null, 'ook geen teaser: over een concept valt niets te zeggen'); 133 }); 134 135 test('zonder renderer nog steeds geen lijf, en geen fout', () => { 136 const e = postEntry(post(), { user: VREEMDE, site: SITE }); 137 assert.equal(e.access, 'full'); 138 assert.equal(e.content_html, null); 139 });
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)