Terminplaner: G08 Satz ohne Widerspruch zu zugeordnet, Fristhinweis 'Nach unseren Unterlagen'

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-03 08:17:43 +00:00
1 parent 6c25a76e28
commit 70b904260a
3 files changed
+14 -7

No files matched your search

@@ -40,9 +40,9 @@ a{color:#111111;}
<tr><td class="px mut" style="padding:20px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><!-- WENN sie -->Ihre Erklärung betrifft die Buchung {{nummer}}. Der Termin ist abgesagt.<!-- ENDE sie --><!-- WENN du -->Deine Erklärung betrifft die Buchung {{nummer}}. Der Termin ist abgesagt.<!-- ENDE du --></td></tr>
<!-- ENDE zugeordnet -->
<!-- WENN nach_frist -->
<tr><td class="px mut" style="padding:20px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><!-- WENN sie --><strong>Hinweis:</strong> Die Widerrufsfrist war bei Eingang Ihrer Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei Ihnen.<!-- ENDE sie --><!-- WENN du --><strong>Hinweis:</strong> Die Widerrufsfrist war bei Eingang deiner Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei dir.<!-- ENDE du --></td></tr>
<tr><td class="px mut" style="padding:20px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><!-- WENN sie --><strong>Hinweis:</strong> Nach unseren Unterlagen war die Widerrufsfrist bei Eingang Ihrer Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei Ihnen.<!-- ENDE sie --><!-- WENN du --><strong>Hinweis:</strong> Nach unseren Unterlagen war die Widerrufsfrist bei Eingang deiner Erklärung bereits abgelaufen. {{betrieb_name}} prüft, wie es weitergeht, und meldet sich bei dir.<!-- ENDE du --></td></tr>
<!-- ENDE nach_frist -->
<tr><td class="px mut" style="padding:20px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><!-- WENN sie -->Falls wir Ihre Erklärung keiner Buchung zuordnen konnten, prüft {{betrieb_name}} sie und meldet sich bei Ihnen.<!-- ENDE sie --><!-- WENN du -->Falls wir deine Erklärung keiner Buchung zuordnen konnten, prüft {{betrieb_name}} sie und meldet sich bei dir.<!-- ENDE du --></td></tr>
<tr><td class="px mut" style="padding:20px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><!-- WENN sie -->{{betrieb_name}} prüft Ihre Erklärung und meldet sich bei Ihnen, falls noch etwas zu klären ist.<!-- ENDE sie --><!-- WENN du -->{{betrieb_name}} prüft deine Erklärung und meldet sich bei dir, falls noch etwas zu klären ist.<!-- ENDE du --></td></tr>
<tr><td class="px mut" style="padding:14px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:20px;mso-line-height-rule:exactly;color:#6b6964;"><!-- WENN sie -->Sie haben diese E-Mail erhalten, weil mit Ihrer E-Mail-Adresse ein Widerruf erklärt wurde. Waren Sie das nicht, können Sie diese Nachricht ignorieren.<!-- ENDE sie --><!-- WENN du -->Du hast diese E-Mail erhalten, weil mit deiner E-Mail-Adresse ein Widerruf erklärt wurde. Warst du das nicht, kannst du diese Nachricht ignorieren.<!-- ENDE du --></td></tr>
<tr><td class="px ink" style="padding:28px 40px 40px 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:24px;color:#111111;">Viele Grüße<br><strong>{{betrieb_name}}</strong></td></tr>
</table>
@@ -69,7 +69,7 @@ a{color:#111111;}
</table></td></tr>
<!-- ENDE widerrufen -->
<!-- WENN nach_frist -->
<tr><td class="px mut" style="padding:10px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><strong>{{gast_name}}</strong> hat einen Widerruf erklärt. Die Widerrufsfrist war bei Eingang bereits abgelaufen. Der Termin ist unverändert, wir haben nichts abgesagt. Bitte prüfe die Erklärung und melde Dich bei Deinem Gast.</td></tr>
<tr><td class="px mut" style="padding:10px 40px 0 40px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:25px;mso-line-height-rule:exactly;color:#4a4843;"><strong>{{gast_name}}</strong> hat einen Widerruf erklärt. Nach unseren Unterlagen war die Widerrufsfrist bei Eingang bereits abgelaufen. Der Termin ist unverändert, wir haben nichts abgesagt. Bitte prüfe die Erklärung und melde Dich bei Deinem Gast.</td></tr>
<tr><td class="px" style="padding:24px 40px 0 40px;"><table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:21px;mso-line-height-rule:exactly;">
<tr><td class="lbl mut rowline" width="150" valign="top" style="width:150px;padding:11px 12px 11px 0;border-bottom:1px solid #ecebe6;color:#6b6964;">Leistung</td><td class="val ink rowline" valign="top" style="padding:11px 0;border-bottom:1px solid #ecebe6;color:#111111;"><strong>{{leistung}}</strong></td></tr>
<tr><td class="lbl mut rowline" width="150" valign="top" style="width:150px;padding:11px 12px 11px 0;border-bottom:1px solid #ecebe6;color:#6b6964;">Person oder Platz</td><td class="val ink rowline" valign="top" style="padding:11px 0;border-bottom:1px solid #ecebe6;color:#111111;">{{person}}</td></tr>
+11 -4
View File
@@ -735,9 +735,16 @@ test('G08: Eingangsbestätigung mit Datum und Uhrzeit, Blöcke zugeordnet und na
assert.match(zugeordnet.text, /Buchung AB12CD34/)
assert.match(zugeordnet.text, /Der Termin ist abgesagt\./)
assert.doesNotMatch(zugeordnet.text, /bereits abgelaufen/)
assert.doesNotMatch(zugeordnet.text, /keiner Buchung zuordnen/, 'zugeordnet widerspricht sich nicht selbst')
const spaet = renderMail('G08', values, { sie: true, nach_frist: true })
assert.match(spaet.text, /Widerrufsfrist war bei Eingang Ihrer Erklärung bereits abgelaufen/)
assert.doesNotMatch(spaet.text, /Der Termin ist abgesagt|AB12CD34/)
assert.match(spaet.text, /Nach unseren Unterlagen war die Widerrufsfrist bei Eingang Ihrer Erklärung bereits abgelaufen\./)
assert.doesNotMatch(spaet.text, /Der Termin ist abgesagt|AB12CD34|keiner Buchung zuordnen/)
// der Satz für alle Fälle ist in jedem Zustand wahr, in beiden Anreden
for (const blocks of [{}, { zugeordnet: true }, { nach_frist: true }]) {
assert.match(renderMail('G08', values, { sie: true, ...blocks }).text, /Salon Muster prüft Ihre Erklärung und meldet sich bei Ihnen, falls noch etwas zu klären ist\./)
assert.match(renderMail('G08', values, { du: true, ...blocks }).text, /Salon Muster prüft deine Erklärung und meldet sich bei dir, falls noch etwas zu klären ist\./)
}
assert.match(renderMail('G08', values, { du: true, nach_frist: true }).text, /Nach unseren Unterlagen war die Widerrufsfrist bei Eingang deiner Erklärung bereits abgelaufen\./)
// Hinweis für Dritte: wer nichts erklärt hat, kann die Mail ignorieren
assert.match(ohne.text, /Waren Sie das nicht, können Sie diese Nachricht ignorieren\./)
})
@@ -777,10 +784,10 @@ test('K20 und K21: WEBklar-Layout in Du-Form, Gastdaten maskiert, Blöcke je Fal
assert.match(fall('verschoben').text, /Neu: 12\.10\.2026, 10:00 Uhr/)
assert.match(fall('widerrufen').text, /Eingegangen am: 02\.10\.2026, 10:07 Uhr/)
assert.match(fall('widerrufen').text, /widerrufen/)
assert.match(fall('nach_frist').text, /Widerrufsfrist war bei Eingang bereits abgelaufen/)
assert.match(fall('nach_frist').text, /Nach unseren Unterlagen war die Widerrufsfrist bei Eingang bereits abgelaufen/)
assert.match(fall('nicht_zugeordnet').text, /keiner Buchung zuordnen/)
// je Fall erscheint nur der eigene Abschnitt
const SATZ = { abgesagt: 'hat den Termin abgesagt', verschoben: 'hat den Termin verschoben', widerrufen: 'hat den Vertrag widerrufen', nach_frist: 'Widerrufsfrist war bei Eingang bereits abgelaufen', nicht_zugeordnet: 'keiner Buchung zuordnen' }
const SATZ = { abgesagt: 'hat den Termin abgesagt', verschoben: 'hat den Termin verschoben', widerrufen: 'hat den Vertrag widerrufen', nach_frist: 'Nach unseren Unterlagen war die Widerrufsfrist bei Eingang bereits abgelaufen', nicht_zugeordnet: 'keiner Buchung zuordnen' }
for (const block of Object.keys(SATZ)) {
const mail = fall(block)
assert.deepEqual(mail.problems, [], block)