Kundenansicht neu P2: E-Mail-Speicher im Wortlaut der Fassung 5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8a23652e07
commit
f9c4fbe9bb
7 files changed
+266
-8
No files matched your search
@@ -2,7 +2,7 @@ import { test } from 'node:test'
|
||||
import assert from 'node:assert/strict'
|
||||
import {
|
||||
fmtEuro, fmtDatum, fmtDatumZeit, fmtTagMonat, fmtStd, fmtMinuten, fmtBytes, legacyRequest, meldeZaehlerNeu, merkeHinweis, nimmHinweis,
|
||||
setzeChatVorgabe, nimmChatVorgabe, fmtUhrzeit, berlinTag, wechselFunktionAus, zuAnsicht, meldeTitel, K, ABO_NICHT_GELADEN, navigiere, ladeAbo, safeUrl,
|
||||
setzeChatVorgabe, nimmChatVorgabe, fmtUhrzeit, berlinTag, ersetze, wechselFunktionAus, zuAnsicht, meldeTitel, K, ABO_NICHT_GELADEN, navigiere, ladeAbo, safeUrl,
|
||||
} from '../public/neu/ansicht-hilfen.js'
|
||||
import { mit, mitDom, abo, aboAntwort, me, projekt, rechnung, nachricht, angebot, ledger, anfrageGutschrift, VORSCHAU, VORSCHAU_SPEICHER, LIMITS, neueWurzel } from './support/knDaten.js'
|
||||
|
||||
@@ -22,6 +22,12 @@ test('Formate: Uhrzeit und Kalendertag in Berliner Zeit', () => {
|
||||
assert.deepEqual(berlinTag('2026-10-15T22:30:00Z'), { j: 2026, m: 10, t: 16 }); assert.equal(berlinTag(''), null)
|
||||
})
|
||||
|
||||
test('ersetze überspringt null, undefined und false, statt „null“ anzuhängen', () => mitDom((fx) => {
|
||||
const el = fx.document.createElement('div'); el.append('alt')
|
||||
ersetze(el, null, 'a', [undefined, fx.document.createElement('b'), false], 'c')
|
||||
assert.equal(el.textContent, 'ac'); assert.equal(el.childNodes.length, 3)
|
||||
}))
|
||||
|
||||
test('Formate: Stunden, Minuten, Bytes', () => {
|
||||
assert.deepEqual([150, 120, 45, 0].map(fmtStd), ['2,5 Std.', '2 Std.', '0,75 Std.', '0 Std.'])
|
||||
assert.deepEqual([0, 45, 120, 150].map(fmtMinuten), ['', '45 min', '2 h', '2 h 30 min'])
|
||||
@@ -60,11 +66,12 @@ test('Bausteinklassen K tragen die Klassen aus basis.css', () => {
|
||||
assert.match(ABO_NICHT_GELADEN, /nicht geladen werden/)
|
||||
})
|
||||
|
||||
test('ladeAbo liefert das Objekt, navigiere wirft ohne Router nicht', mit({ 'GET /api/abo': aboAntwort() }, async () => {
|
||||
test('ladeAbo liefert das Objekt, navigiere wirft ohne Router nicht', mit({ 'GET /api/abo': aboAntwort() }, async (fx) => {
|
||||
const antwort = await ladeAbo()
|
||||
assert.equal(antwort.subscription, null)
|
||||
assert.equal(antwort.termsVersion, '2026-09-30-v5')
|
||||
assert.doesNotThrow(() => navigiere('#chat'))
|
||||
assert.equal(fx.window.location.hash, '#chat') // ohne laufenden Router trägt der Hash die Adresse
|
||||
}))
|
||||
|
||||
test('ladeAbo bei Fehler: null', mit({ 'GET /api/abo': () => ({ status: 500, body: { error: 'kaputt' } }) }, async () => {
|
||||
|
||||
Reference in new issue
Block a user