Übernahmegutschrift und Leitfaden: für beide Abos (Entwurf)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
0098899ac6
commit
a2c1f0d81c
6 files changed
+73
-28
No files matched your search
@@ -226,3 +226,34 @@ test('Datenschutz: Abos, UptimeRobot, Stand wie termsVersion', () => {
|
||||
assert.equal(stand[1], `${d}.${mo}.${y}`)
|
||||
assert.ok(read('scripts/build-legal-pdfs.sh').includes('pdf public/datenschutz.html docs/WEBklar-Datenschutzerklaerung.pdf'))
|
||||
})
|
||||
|
||||
// --- Übernahmegutschrift, Prüftexte, Leitfaden (Plan 2, Task 3) ---
|
||||
|
||||
test('Übernahmegutschrift und Leitfaden: produktneutral', () => {
|
||||
const app = read('public/app.js')
|
||||
const cond = between(app, 'const TAKEOVER_CONDITIONS', ']')
|
||||
assert.ok(!cond.includes('Wartungs-Abo') && cond.includes('Ihr Abo'), 'Bedingungen nennen „Ihr Abo“ statt des Wartungs-Abos')
|
||||
assert.notEqual(config.takeover.conditionsVersion, '2026-09-25', 'conditionsVersion hochgezogen')
|
||||
const tc = read('server/services/takeoverCredits.js')
|
||||
assert.ok(!/Wartungs-Abo (läuft|ist beendet)|kein (laufendes )?Wartungs-Abo/.test(tc), 'Prüf-Labels und Fehlermeldungen sagen „Abo“')
|
||||
assert.ok(!tc.includes('config.stripe.priceAmountCents'), 'Plausibilität gegen den Produktpreis, nicht gegen den Wartungspreis')
|
||||
const lf = read('docs/leitfaden-empfehlungsgeber.html')
|
||||
assert.ok(lf.includes('Hosting-Abo') && lf.includes('beliebig viele Postfächer'), 'Leitfaden nennt beide Abos')
|
||||
// Festlegungen zur Umsetzung: Postfächer im Plural (Wartungs-Abo: beliebig viele), Entwurfsdatum als Version,
|
||||
// Karte im Portal und Checkliste ohne Produktnamen, Preisvergleich je Produkt
|
||||
assert.ok(cond.includes('E-Mail-Postfächer'))
|
||||
assert.match(config.takeover.conditionsVersion, /^\d{4}-\d{2}-\d{2}$/)
|
||||
assert.ok(app.includes('sobald Ihr Abo läuft') && !app.includes('sobald Ihr Wartungs-Abo läuft'))
|
||||
assert.ok(!tc.includes('durch das Wartungs-Abo ersetzt'))
|
||||
assert.ok(tc.includes("getProduct(subscription?.productKey || 'wartung')"))
|
||||
// Leitfaden: beide Preise mit § 19 UStG, Zusatzspeicher, Wechsel, Gutschrift für beide Abos, Bestellweg „Verträge“
|
||||
const lfText = strip(lf)
|
||||
for (const s of ['zusammen 5 GB', 'Zusatzspeicher', 'Wechsel', 'Übernahmegutschrift', 'beiden Abos', '„Verträge“']) assert.ok(lfText.includes(s), s)
|
||||
for (const preis of ['15,00 €', '50,00 €', '1,00 €']) {
|
||||
const i = lfText.indexOf(preis)
|
||||
assert.ok(i >= 0, preis)
|
||||
assert.ok(lfText.slice(i, i + 80).includes('§ 19 UStG'), `${preis} ohne § 19 UStG`)
|
||||
}
|
||||
assert.ok(!lfText.includes('1 E-Mail-Postfach und 1 Stunde'), 'Wartungs-Abo nicht mehr mit einem Postfach')
|
||||
assert.ok(!lfText.includes('Startseite'), 'kein veralteter Bestellweg')
|
||||
})
|
||||
Reference in new issue
Block a user