Shop P1a: Du-Form im Portal klein (du, dich, dein) wie im übrigen Kundenportal

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-05 09:17:09 +00:00
1 parent 17ad5cbcdc
commit 16a7f05aa2
10 files changed
+34 -34

No files matched your search

+1 -1
View File
@@ -512,7 +512,7 @@ test('Webshop-Kachel: Text mit Preis, Knopf und Pille je Zustand, Ziel #webshop
const html = await renderMit([shopProject('p1', state)], { shop: { verfuegbar: true } })
const t = tile(html, 'shop')
assert.match(t, /<h3>Webshop<\/h3>/, state)
assert.match(t, /Dein eigener Online-Shop auf Deiner Website\. Zahlungen gehen direkt auf Dein Stripe-Konto\. 299 € einmalig\./, state)
assert.match(t, /Dein eigener Online-Shop auf deiner Website\. Zahlungen gehen direkt auf dein Stripe-Konto\. 299 € einmalig\./, state)
assert.match(t, new RegExp(`<button type="button" class="kb-btn-primary fn-tile-cta" data-view="webshop" data-project="p1">${knopf}</button>`), state)
assert.match(t, new RegExp(`fn-pill fn-pill-${klasse}">${pille}</span>`), state)
}
+1 -1
View File
@@ -393,7 +393,7 @@ test('Klarna nicht freigeschaltet: einmal mit Karte wiederholen, Hinweis fuer de
assert.match(order.stripeSessionId, /^cs_/)
const status = JSON.parse(aw.docs('shopConfig').get(FEATURE).stripeStatus)
assert.equal(status.charges_enabled, true)
assert.match(status.hinweis, /^Klarna\/SEPA ist in Deinem Stripe-Konto nicht aktiviert/)
assert.match(status.hinweis, /^Klarna\/SEPA ist in deinem Stripe-Konto nicht aktiviert/)
// Zwischenspeicher geleert: der naechste Kontext enthaelt den Hinweis
assert.match((await K.shopPerSiteKey(SITE_KEY, { now: T0 })).shop.stripeStatus.hinweis, /Klarna/)
})
+4 -4
View File
@@ -251,7 +251,7 @@ test('bereitschaft: einbau', async () => {
const { doc, shop } = await K.ladeShopFuerProjekt(KUNDE, PROJEKT)
const r = await K.bereitschaft({ doc, shop })
assert.equal(punkt(r, 'einbau').ok, false)
assert.equal(punkt(r, 'einbau').text, 'Wir bauen den Shop gerade in Deine Website ein.')
assert.equal(punkt(r, 'einbau').text, 'Wir bauen den Shop gerade in deine Website ein.')
assert.equal(r.bereit, false)
assert.equal(await K.istGeoeffnet({ doc, shop }), false)
})
@@ -284,7 +284,7 @@ test('bereitschaft und Oeffnung: Rechtstexte offen, geaendert, bestaetigt', asyn
let c = await K.ladeShopFuerProjekt(KUNDE, PROJEKT)
let r = await K.bereitschaft(c)
assert.equal(punkt(r, 'rechtstexte').ok, false)
assert.equal(punkt(r, 'rechtstexte').text, 'Bitte bestätige Deine Rechtstexte.')
assert.equal(punkt(r, 'rechtstexte').text, 'Bitte bestätige deine Rechtstexte.')
assert.equal(await K.istGeoeffnet(c), false, 'nie bestaetigt => zu')
assert.equal(K.oeffentlicheRechtstexte(c), null)
@@ -293,7 +293,7 @@ test('bereitschaft und Oeffnung: Rechtstexte offen, geaendert, bestaetigt', asyn
c = await K.ladeShopFuerProjekt(KUNDE, PROJEKT)
r = await K.bereitschaft(c)
assert.equal(punkt(r, 'rechtstexte').ok, false)
assert.match(punkt(r, 'rechtstexte').text, /^Bitte ergänze Deine Rechtstexte/)
assert.match(punkt(r, 'rechtstexte').text, /^Bitte ergänze deine Rechtstexte/)
// bestaetigt, Entwurf danach geaendert
const neu = { ...TEXTE, agb: 'Neue AGB' }
@@ -301,7 +301,7 @@ test('bereitschaft und Oeffnung: Rechtstexte offen, geaendert, bestaetigt', asyn
c = await K.ladeShopFuerProjekt(KUNDE, PROJEKT)
r = await K.bereitschaft(c)
assert.equal(punkt(r, 'rechtstexte').ok, false)
assert.equal(punkt(r, 'rechtstexte').text, 'Bitte bestätige Deine geänderten Rechtstexte.')
assert.equal(punkt(r, 'rechtstexte').text, 'Bitte bestätige deine geänderten Rechtstexte.')
assert.equal(r.bereit, false)
assert.equal(await K.istGeoeffnet(c), true, 'frueher bestaetigt => bleibt offen')
assert.deepEqual(K.oeffentlicheRechtstexte(c), TEXTE, 'Kaeufer sehen die bestaetigte Fassung')
+3 -3
View File
@@ -273,7 +273,7 @@ test('Anfrage abgelehnt: Begründung als Text; „Neue Anfrage stellen“ zeigt
await fx.klick(fx.finde(root, '[data-aktion="neue-anfrage"]'))
assert.ok(fx.finde(root, '[data-aktion="anfrage-senden"]'))
assert.equal(fx.finde(root, '[data-feld="beschreibung"]').value, 'Handgemachte Mützen und Schals.')
assert.equal(fx.finde(root, '[data-feld="unternehmer"]').checked, false, 'die Haken setzt Du neu')
assert.equal(fx.finde(root, '[data-feld="unternehmer"]').checked, false, 'die Haken setzt du neu')
},
))
@@ -411,13 +411,13 @@ test('Die echten Reiter-Module werden beim Wählen geladen', mitDom(welt1('activ
for (const r of REITER) assert.equal(typeof (await r.laden()).render, 'function', `${r.key} exportiert render`)
}))
test('Zustand setup: Hinweis „Wir bauen Deinen Shop gerade ein …“ über den Reitern, Reiter nicht schreibgeschützt', mitDom(welt1('setup', status('setup')), undefined, async (fx) => {
test('Zustand setup: Hinweis „Wir bauen deinen Shop gerade ein …“ über den Reitern, Reiter nicht schreibgeschützt', mitDom(welt1('setup', status('setup')), undefined, async (fx) => {
const gesehen = []
const alt = REITER[0].laden
REITER[0].laden = async () => ({ render: (panel, ctx) => { gesehen.push(ctx) } })
try {
const root = await oeffne(fx)
assert.equal(fx.text(fx.finde(root, '[data-hinweis="setup"]')), 'Wir bauen Deinen Shop gerade ein. Du kannst schon Artikel, Stripe und Rechtstexte vorbereiten.')
assert.equal(fx.text(fx.finde(root, '[data-hinweis="setup"]')), 'Wir bauen deinen Shop gerade ein. Du kannst schon Artikel, Stripe und Rechtstexte vorbereiten.')
assert.equal(fx.alle(root, '[role="tab"]').length, 5)
assert.equal(gesehen[0].nurLesen, false)
} finally {