Webshop-Test: Reiter-Panels abwarten (Node 20 lädt import() langsamer)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bf308a75ae
commit
ce84fc849a
1 file changed
+13
-2
+13
-2
@@ -349,6 +349,17 @@ test('ordered ohne Rückkehr: kein „Danke!“; scheitert „Zahlung fortsetzen
|
|||||||
},
|
},
|
||||||
))
|
))
|
||||||
|
|
||||||
|
// Wartet, bis ein dynamisch geladenes Reiter-Modul sein Panel gezeichnet hat (Node 20 laedt import() langsamer als Node 24)
|
||||||
|
async function panelText(fx, root, sel) {
|
||||||
|
for (let i = 0; i < 100; i += 1) {
|
||||||
|
const t = fx.text(fx.finde(root, sel))
|
||||||
|
if (t !== '') return t
|
||||||
|
await fx.ruhe()
|
||||||
|
await new Promise((r) => setTimeout(r, 5))
|
||||||
|
}
|
||||||
|
return fx.text(fx.finde(root, sel))
|
||||||
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------------ Reiter --- */
|
/* ------------------------------------------------------------------ Reiter --- */
|
||||||
test('Zustand active: fünf Reiter in fester Reihenfolge, Übersicht offen; kein Hinweis-Banner', mitDom(welt1('active', status('active')), undefined, async (fx) => {
|
test('Zustand active: fünf Reiter in fester Reihenfolge, Übersicht offen; kein Hinweis-Banner', mitDom(welt1('active', status('active')), undefined, async (fx) => {
|
||||||
const root = await oeffne(fx)
|
const root = await oeffne(fx)
|
||||||
@@ -357,7 +368,7 @@ test('Zustand active: fünf Reiter in fester Reihenfolge, Übersicht offen; kein
|
|||||||
assert.deepEqual(knoepfe.map((k) => k.dataset.reiter), ['uebersicht', 'artikel', 'bestellungen', 'einstellungen', 'rechtliches'])
|
assert.deepEqual(knoepfe.map((k) => k.dataset.reiter), ['uebersicht', 'artikel', 'bestellungen', 'einstellungen', 'rechtliches'])
|
||||||
assert.deepEqual(knoepfe.map((k) => k.getAttribute('aria-selected')), ['true', 'false', 'false', 'false', 'false'])
|
assert.deepEqual(knoepfe.map((k) => k.getAttribute('aria-selected')), ['true', 'false', 'false', 'false', 'false'])
|
||||||
assert.equal(fx.finde(root, '[role="tablist"]').getAttribute('aria-label'), 'Bereiche des Webshops')
|
assert.equal(fx.finde(root, '[role="tablist"]').getAttribute('aria-label'), 'Bereiche des Webshops')
|
||||||
assert.notEqual(fx.text(fx.finde(root, '[role="tabpanel"]')), '', 'die Übersicht zeichnet ihr Panel')
|
assert.notEqual(await panelText(fx, root, '[role="tabpanel"]'), '', 'die Übersicht zeichnet ihr Panel')
|
||||||
assert.equal(fx.finde(root, '[data-hinweis]'), null)
|
assert.equal(fx.finde(root, '[data-hinweis]'), null)
|
||||||
assert.deepEqual(REITER.map((r) => r.key), ['uebersicht', 'artikel', 'bestellungen', 'einstellungen', 'rechtliches'])
|
assert.deepEqual(REITER.map((r) => r.key), ['uebersicht', 'artikel', 'bestellungen', 'einstellungen', 'rechtliches'])
|
||||||
}))
|
}))
|
||||||
@@ -406,7 +417,7 @@ test('Die echten Reiter-Module werden beim Wählen geladen', mitDom(welt1('activ
|
|||||||
for (const key of ['artikel', 'bestellungen', 'einstellungen', 'rechtliches', 'uebersicht']) {
|
for (const key of ['artikel', 'bestellungen', 'einstellungen', 'rechtliches', 'uebersicht']) {
|
||||||
await fx.klick(fx.finde(root, `#sh-tab-${key}`))
|
await fx.klick(fx.finde(root, `#sh-tab-${key}`))
|
||||||
await fx.ruhe()
|
await fx.ruhe()
|
||||||
assert.notEqual(fx.text(fx.finde(root, '#sh-panel')), '', `${key} zeichnet sein Panel (Platzhalter oder echter Inhalt)`)
|
assert.notEqual(await panelText(fx, root, '#sh-panel'), '', `${key} zeichnet sein Panel (Platzhalter oder echter Inhalt)`)
|
||||||
}
|
}
|
||||||
for (const r of REITER) assert.equal(typeof (await r.laden()).render, 'function', `${r.key} exportiert render`)
|
for (const r of REITER) assert.equal(typeof (await r.laden()).render, 'function', `${r.key} exportiert render`)
|
||||||
}))
|
}))
|
||||||
|
|||||||
Reference in new issue
Block a user