- Timestamp:
- 10/29/2026 05:50:58 PM (3 hours ago)
- Branches:
- main
- Parents:
- e4119c2
- File:
-
- 1 edited
-
test/inbox-ouder.test.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
test/inbox-ouder.test.js
re4119c2 r3155d8c 155 155 assert.ok(p.next.endsWith('&limit=10'), 'anders wordt de tweede pagina stilletjes de standaard'); 156 156 }); 157 158 // ── Een greep uit je geschiedenis (inbox-zero) ───────────────────────────── 159 160 test('een willekeurige pagina begint bij een post, en loopt van daar gewoon door', () => { 161 // Alle tijdlijnrijen op volgorde, zoals de unie ze ziet. 162 const posts = AP.inboxPage('lezer', { limit: 500 }).rows.filter((r) => r.leg === 'timeline'); 163 for (const k of [0, 1, 40, posts.length - 1]) { 164 const p = AP.inboxRandomPage('lezer', { limit: 10, rnd: () => k / posts.length }); 165 const eerstePost = p.rows.find((r) => r.leg === 'timeline'); 166 assert.equal(eerstePost.ref, posts[k].ref, `anker ${k} is de eerste post van de pagina`); 167 // En het is een echte pagina: met zijn start opnieuw gevraagd geeft hij hetzelfde. 168 if (p.start) assert.deepEqual(AP.inboxPage('lezer', { before: p.start, limit: 10 }).rows, p.rows); 169 } 170 // Een lege geschiedenis is geen fout. 171 assert.deepEqual(AP.inboxRandomPage('niemand', { limit: 10 }).rows, []); 172 }); 173 174 test('?random=1 geeft een pagina die zichzelf naar zijn echte begin noemt', async () => { 175 for (let i = 0; i < 5; i++) { 176 const p = await haal(`http://127.0.0.1:${poort}/ap/users/lezer/inbox?random=1&limit=15`); 177 assert.equal(p.type, 'OrderedCollectionPage'); 178 assert.ok(p.partOf.endsWith('/ap/users/lezer/inbox')); 179 assert.ok(p.orderedItems.length > 0); 180 assert.ok(p.orderedItems.some((x) => x.object && String(x.object.id).startsWith('https://elders/n/')), 'er zit een post in'); 181 if (p.id.includes('?before=')) { 182 const zelfde = await haal(p.id); 183 assert.deepEqual(zelfde.orderedItems.map(idVan), p.orderedItems.map(idVan), 'het id is een adres, niet een toevalstreffer'); 184 assert.ok(p.id.endsWith('&limit=15')); 185 } 186 } 187 });
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)