Changeset c34ef26 in Klonkt for test/help-c2s.test.js


Ignore:
Timestamp:
08/10/2026 01:26:03 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
f549cf5
Parents:
59d963f
Message:

De ouderdom van een oppak haalde de apps niet (shaer-lgo)

Barts besluit was dat "opgepikt" niet vervalt maar zichtbaar VEROUDERT -- het
verschil tussen "er is iemand mee bezig" en "er was ooit iemand mee bezig". Het
guardian-paneel toont dat ook, met een regel zodra het oudste oppakken langer
dan een uur geleden is.

Maar helpCollection gooide het veld weg. helpStatus() rekent oldestPickupAt
netjes uit; de C2S-wachtrij serialiseerde alleen open, handledBy, handledAt,
pickedUpBy en formerWard. In Shaer zag een oppak van vijf minuten er dus uit als
een van vijf dagen -- en de faalstand is hier nou juist "iedereen denkt dat het
geregeld is".

Als TIJDSTIP en niet als leeftijd, om dezelfde reden die in guardian.js staat:
een leeftijd maakt elk antwoord anders en dan kan de ETag nooit gelijk zijn. De
client rekent zelf terug.

En weg zodra hij is afgehandeld: hoe lang er iemand naar keek is dan geen
informatie meer, en zou als "er wacht nog iets" lezen.

Gecontroleerd dat de test bijt: veld eruit -> 7 groen 1 rood, terug -> 8 groen.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/help-c2s.test.js

    r59d963f rc34ef26  
    6060});
    6161
     62test('en de apps krijgen te horen HOE OUD dat oppakken is', () => {
     63  // Barts besluit: opgepikt vervalt niet maar veroudert zichtbaar -- het
     64  // verschil tussen "er is iemand mee bezig" en "er was ooit iemand mee bezig".
     65  // Het paneel toonde dat al uit dezelfde staat; de apps kregen het veld niet,
     66  // dus daar zag een oppak van vijf minuten eruit als een van vijf dagen.
     67  const coll = queues.helpCollection('https://x/queues/help', 'oma');
     68  const item = coll.orderedItems.find((i) => i.id === BOEI);
     69  assert.ok(item['shaer:oldestPickupAt'], 'het veld staat er');
     70  assert.ok(!Number.isNaN(Date.parse(item['shaer:oldestPickupAt'])), 'en is een leesbaar tijdstip');
     71  // Een TIJDSTIP en geen leeftijd: een leeftijd maakt elk antwoord anders en
     72  // dan kan de ETag nooit gelijk zijn. De client rekent zelf terug.
     73  assert.equal(typeof item['shaer:oldestPickupAt'], 'string');
     74});
     75
    6276test('afsluiten vanuit de app sluit hem ook echt', async () => {
    6377  await AP.ingestOutboxActivity(site(), user, marker('handled'));
     
    7589  assert.ok(item['shaer:handledBy']);
    7690  assert.equal(item['shaer:helpRequest'], true);
     91  // En de ouderdom is WEG zodra hij is afgehandeld: hoe lang er iemand naar
     92  // keek is dan geen informatie meer, en zou als "er wacht nog iets" lezen.
     93  assert.equal(item['shaer:oldestPickupAt'], undefined);
    7794});
    7895
Note: See TracChangeset for help on using the changeset viewer.