Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/fep1580-migration.test.js

    r19430fa r919b82d  
    481481});
    482482
    483 test('de [[track:]]-verwijzing in een bericht blijft naar een bestaand nummer wijzen', async () => {
     483test('de [[track:]]-verwijzing in een bericht wordt bijgetrokken', async () => {
    484484  // Wat Robin op TikTik zag: het bericht toonde de shorthand zelf in plaats van
    485485  // een speler. Zijn posts kwamen uit de ZIP (die bewaart posts.content
     
    515515  }));
    516516
    517   // DE EIS, ongeacht hoe: na een verhuizing wijst de shorthand naar een nummer
    518   // dat hier bestaat. Sinds "altijd behouden" (14-8) klopt dat meestal vanzelf,
    519   // want het id verandert niet meer. Botst het id wel, dan trekt de ingest de
    520   // tekst bij. Deze test toetst de UITKOMST en niet de route ernaartoe.
    521517  const inhoud = db.prepare("SELECT content FROM posts WHERE id = 'pz'").get().content;
    522518  const m = /\[\[track:([^\]]+)\]\]/.exec(inhoud);
    523   assert.ok(m, 'de shorthand blijft staan');
     519  assert.ok(m, 'de shorthand blijft staan, alleen het id verandert');
     520  assert.notEqual(m[1], 't-oud', 'het oude id wijst hier nergens heen');
    524521  const bestaat = db.prepare('SELECT 1 FROM audio_tracks WHERE id = ? AND site_id = ?').get(m[1], 's1');
    525   assert.ok(bestaat, `[[track:${m[1]}]] hoort bij een nummer dat er echt is`);
    526   assert.equal(m[1], 't-oud', 'en omdat het id behouden blijft, hoefde er niets herschreven');
    527 });
    528 
    529 test('botst het track-id wel, dan wordt de tekst bijgetrokken', async () => {
    530   // Het vangnet. "Altijd behouden" kan niet als er hier al iets anders met dat
    531   // id staat; dan krijgt het nummer een ander id en moet de shorthand mee.
    532   const s2 = site({ aliases: [BRON] });
    533   db.prepare(`INSERT INTO posts (id, site_id, author_id, slug, title, content, status, published_at)
    534               VALUES ('pb','s1','u1','botsing','Botsing','<p>[[track:t-bots]]</p>','published','2026-08-13T10:00:00Z')`).run();
    535   // Een nummer dat hier AL bestaat onder datzelfde id, van iets anders.
    536   db.prepare("INSERT INTO media (id, site_id, filename, mime_type, size, storage_path) VALUES ('mx','s1','x.mp3','audio/mpeg',1,'/x')").run();
    537   db.prepare("INSERT INTO audio_tracks (id, site_id, title, media_id) VALUES ('t-bots','s1','Al van mij','mx')").run();
    538 
    539   const kaart2 = new Map([
    540     [BRON, { id: BRON, type: 'Person', movedTo: IK, outbox: `${BRON}/outbox`, streams: [`${BRON}/tracks`] }],
    541     [`${BRON}/outbox`, { type: 'OrderedCollection', orderedItems: [] }],
    542     [`${BRON}/tracks`, {
    543       type: 'OrderedCollection',
    544       orderedItems: [{
    545         id: `${BRON}/tracks/t-bots`, type: 'Audio', name: 'Van de bron',
    546         url: [{ type: 'Link', href: `${BRON}/audio/y.mp3`, mediaType: 'audio/mpeg' }],
    547       }],
    548     }],
    549   ]);
    550   await stil(() => Mig.ingestFromSource(s2, {
    551     deps: {
    552       getJson: async (_slug, url) => kaart2.get(url) || null,
    553       noteId: (b, id) => `${b}/ap/notes/${id}`,
    554       noteVisibility: AP.noteVisibility,
    555       audioRoot: '/nep/audio', mediaRoot: '/nep/media',
    556       signHeaders: () => ({ Signature: 'nep' }),
    557       safeFetch: async () => ({ ok: true, arrayBuffer: async () => Buffer.from('y'), headers: { get: () => 'audio/mpeg' } }),
    558       fs: { mkdirSync() {}, writeFileSync() {} },
    559       path,
    560     },
    561   }));
    562   // Het bestaande nummer blijft van jou; de tekst wijst naar iets dat bestaat.
    563   const inhoud = db.prepare("SELECT content FROM posts WHERE id = 'pb'").get().content;
    564   const m = /\[\[track:([^\]]+)\]\]/.exec(inhoud);
    565   assert.ok(m);
    566   assert.ok(db.prepare('SELECT 1 FROM audio_tracks WHERE id = ? AND site_id = ?').get(m[1], 's1'),
    567     'wat er ook gebeurde met het id, de verwijzing wijst naar een bestaand nummer');
     522  assert.ok(bestaat, 'en het nieuwe id hoort bij een nummer dat er echt is');
    568523});
    569524
Note: See TracChangeset for help on using the changeset viewer.