Kundenansicht der Mitarbeiter: Einschalten gesperrt statt 403-Text nach dem Tipp
Die Hülle reicht viewAs der Sitzung an die Einschalt-Option der Module durch (News, Terminplaner, Webshop, Buchungskalender, Zeiten), auch wenn ein Modul es nicht nennt. In Entdecken ist der Einschalten-Knopf gesperrt, daneben steht "In der Kundenansicht nicht möglich." Meine bleibt bei gesperrtem Knopf auf der Bestätigungsseite (jetzt gepinnt). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0df96611dc
commit
524ac64d20
5 files changed
+57
-4
No files matched your search
@@ -292,3 +292,35 @@ test('wechselFunktion: nicht, wenn die Website die Funktion schon hat, die Websi
|
||||
assert.deepEqual(u.gegangen, [])
|
||||
}
|
||||
}))
|
||||
|
||||
test('Mitarbeiter-Kundenansicht (me.viewAs), Entdecken: jeder Einschalten-Knopf ist gesperrt, der Hinweis steht daneben, der Tipp geht nirgends hin', mit(async (fx) => {
|
||||
const u = umgebung(fx, { d: daten({ abo: { produkt: 'wartung' } }), me: { viewAs: true } })
|
||||
await u.zeige(ENTDECKEN)
|
||||
const karten = fx.alle(u.wurzel, 'section[data-fn]')
|
||||
assert.ok(karten.length >= 5)
|
||||
for (const karte of karten) {
|
||||
const knopf = fx.finde(karte, '[data-aktion="einschalten"]')
|
||||
if (!knopf) continue // Funktion nur für Betriebe: dort steht ohnehin ein Hinweis statt des Knopfes
|
||||
assert.equal(knopf.disabled, true, karte.getAttribute('data-fn'))
|
||||
assert.match(fx.text(karte), /In der Kundenansicht nicht möglich\./, karte.getAttribute('data-fn'))
|
||||
await fx.klick(knopf)
|
||||
}
|
||||
assert.deepEqual(u.gegangen, [])
|
||||
assert.equal(fx.finde(u.wurzel, 'section.kn-fn-einschalten'), null)
|
||||
// ohne Kundenansicht bleibt der Knopf frei und ohne Hinweis
|
||||
const frei = umgebung(fx, { d: daten({ abo: { produkt: 'wartung' } }) })
|
||||
await frei.zeige(ENTDECKEN)
|
||||
assert.equal(fx.finde(frei.wurzel, 'section[data-fn="news"] [data-aktion="einschalten"]').disabled, false)
|
||||
assert.doesNotMatch(fx.text(frei.wurzel), /In der Kundenansicht nicht möglich/)
|
||||
}))
|
||||
|
||||
test('Mitarbeiter-Kundenansicht, Meine: eine angenommene Anfrage öffnet die Bestätigung mit gesperrtem Knopf und Hinweis, ohne Abruf zum Einschalten', mit(async (fx) => {
|
||||
const u = umgebung(fx, { d: daten({ projekte: [projekt('p1', 'Bäckerei', { shop: feature('off', { anfrageStatus: 'angenommen' }) })] }), me: { viewAs: true } })
|
||||
await u.zeige(MEINE)
|
||||
await fx.klick(fx.finde(fx.finde(u.wurzel, 'li[data-fn="shop"]'), 'button'))
|
||||
const knopf = fx.finde(u.wurzel, 'section.kn-fn-einschalten [data-aktion="einschalten"]')
|
||||
assert.equal(knopf.disabled, true)
|
||||
assert.match(fx.text(u.wurzel), /In der Kundenansicht kann nichts eingeschaltet werden\./)
|
||||
await fx.klick(knopf)
|
||||
assert.equal(u.aufrufe.some(([m]) => m === 'POST'), false)
|
||||
}))
|
||||
Reference in new issue
Block a user