50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
import test from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { loadModule } from './load.mjs'
|
|
|
|
const { analyseStatus, avvLabel } = await loadModule('src/lib/analyseView.js')
|
|
|
|
test('analyseStatus: Schalter aus => noch nicht freigeschaltet, kein Button', () => {
|
|
const s = analyseStatus({ enabled: false })
|
|
assert.equal(s.text, 'Noch nicht freigeschaltet')
|
|
assert.equal(s.canEnable, false)
|
|
assert.equal(s.canDisable, false)
|
|
})
|
|
|
|
test('analyseStatus: an seit Datum (Europe/Berlin)', () => {
|
|
const s = analyseStatus({ enabled: true, state: 'active', eligible: true, activatedAt: '2026-10-01T22:30:00Z' })
|
|
assert.equal(s.text, 'An seit 02.10.2026')
|
|
assert.equal(s.canDisable, true)
|
|
assert.equal(s.canEnable, false)
|
|
})
|
|
|
|
test('analyseStatus: an ohne Datum bleibt lesbar', () => {
|
|
assert.equal(analyseStatus({ enabled: true, state: 'active', eligible: true }).text, 'An')
|
|
})
|
|
|
|
test('analyseStatus: aus und berechtigt => Einschalten moeglich', () => {
|
|
const s = analyseStatus({ enabled: true, state: 'off', eligible: true })
|
|
assert.equal(s.text, 'Aus')
|
|
assert.equal(s.canEnable, true)
|
|
assert.equal(analyseStatus({ enabled: true, state: null, eligible: true }).text, 'Aus')
|
|
})
|
|
|
|
test('analyseStatus: gesperrt', () => {
|
|
const s = analyseStatus({ enabled: true, state: 'disabled', eligible: true })
|
|
assert.equal(s.text, 'Gesperrt')
|
|
})
|
|
|
|
test('analyseStatus: nicht berechtigt => Grund, kein Button', () => {
|
|
const s = analyseStatus({ enabled: true, state: null, eligible: false, reasonText: 'Die Website-Analyse gibt es nur mit einem laufenden Wartungs-Abo.' })
|
|
assert.equal(s.text, 'Nicht verfügbar: Die Website-Analyse gibt es nur mit einem laufenden Wartungs-Abo.')
|
|
assert.equal(s.canEnable, false)
|
|
})
|
|
|
|
test('analyseStatus: robust bei leerer Antwort', () => {
|
|
assert.equal(analyseStatus(null).text, '')
|
|
})
|
|
|
|
test('avvLabel nennt die Fassung', () => {
|
|
assert.equal(avvLabel('2026-10-01'), 'Der Kunde hat den Auftragsverarbeitungsvertrag (Fassung 2026-10-01) bestätigt')
|
|
})
|