Changeset 78b8e58 in Klonkt for test/migrate-page.test.js


Ignore:
Timestamp:
08/25/2026 08:00:40 PM (2 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
76290bf
Parents:
cb1bd82
Message:

Toetsen: layout-pins eruit, overlap samengevoegd (mixtape, migrate, c2s-titel)

Dezelfde maat als bij de Berichten-toetsen (Robins besluit, 25-8): een
toets pint een beslissing, niet waar iets staat of hoe de code gespeld
is. Drie bestanden, netto drie toetsen minder en vier pins weg:

  • mixtape-ui: de bron-regex-toets op de labelmap weg (die toetste dezelfde regel als de render-toets, maar dan op de spelling van de code); de klasse-pin rond het woord Mixtape los (dat het er staat is het besluit, waar het staat is layout); de spoel-asserts weg -- de cassette-decoratie is layout, de haken van tape.js (.post-tape, data-tape-go) blijven, want dat is het contract met de module.
  • migrate-page: de twee volgorde-toetsen samengevoegd. De volgorde ZELF blijft getoetst, want daar is hij inhoud: wie de stappen verkeerd om doet breekt zijn verhuizing. De positie-assert van het stappenplan (bovenaan) is weg, het bestaan ervan blijft.
  • c2s-title: de twee lege-titel-gevallen (geen name, alleen witruimte) zijn een regel met twee kanten, nu een toets.

Bij het echt lezen bleken twee eerder verdachte toetsen juist
beslissingstoetsen: 'de teksten praten geen jargon' bewaakt Robins eigen
regel en toetst op betekenis-niveau, en 'stap 5' is daar destijds al
bewust op herschreven. Die blijven onaangeroerd, net als de tien
speler-toetsen die broncode lezen -- brosse dekking, maar de enige die
browser-JS hier heeft; schrappen kan pas als er iets voor in de plaats
komt.

Tegenbewijs per snede: het mixtape-label valt tegen de renderer van voor
8e1af9c, de volgorde valt tegen een omgedraaide pagina, en de lege titel
valt tegen een mutatie die er een verzint. Volle suite 1229 groen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/migrate-page.test.js

    rcb1bd82 r78b8e58  
    3939
    4040test('de volgorde op de pagina volgt de verhuizing: claimen eerst, aankondigen laatst', () => {
     41  // Volgorde is hier INHOUD, geen layout (25-8): wie deze stappen in de
     42  // verkeerde volgorde doet, breekt zijn verhuizing -- de pagina IS het
     43  // stappenplan. Daarom mag deze positietoets blijven waar andere sneuvelden.
     44  // De losse toets dat het stappenplan "bovenaan, voor de knoppen" staat is
     45  // hierin opgegaan: dat het er IS hoort erbij, waar het staat niet.
    4146  const ejs = fs.readFileSync('src/views/pages/admin-migrate.ejs', 'utf8');
     47  assert.ok(ejs.indexOf('mig-steps') > -1, 'er hoort een stappenplan te staan');
    4248  const alias = ejs.indexOf('name="ap_aliases"');
    4349  const halen = ejs.indexOf('/admin/migrate/pull');
     
    6773
    6874// ── Het stappenplan ───────────────────────────────────────────────
    69 
    70 test('het stappenplan zet de volgorde vast die niemand raadt', () => {
    71   const ejs = fs.readFileSync('src/views/pages/admin-migrate.ejs', 'utf8');
    72   const plan = ejs.indexOf('mig-steps');
    73   const alias = ejs.indexOf('name="ap_aliases"');
    74   assert.ok(plan > -1, 'er hoort een stappenplan te staan');
    75   assert.ok(plan < alias, 'en bovenaan, voor de knoppen die het beschrijft');
    76 });
    7775
    7876test('"hier" draait om als je vanaf de vertrekkende kant kijkt', async () => {
Note: See TracChangeset for help on using the changeset viewer.