Dashboard mit Anrufhistorie und Dev-Schalter ergänzt
This commit is contained in:
1 parent
afd6d03a71
commit
373081d33d
11 files changed
+713
-144
No files matched your search
@@ -0,0 +1,42 @@
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest'
|
||||
import { callerNumber, fetchIncomingCalls, matchesCall, type StoredCall } from './calls'
|
||||
|
||||
const call: StoredCall = {
|
||||
id: 'call-1',
|
||||
receivedAt: '2026-09-20T08:30:00Z',
|
||||
line: 1,
|
||||
peer: 'Muster GmbH (+49 30 123-45)',
|
||||
peerNumber: '+49 30 123-45',
|
||||
peerName: 'Muster GmbH',
|
||||
}
|
||||
|
||||
afterEach(() => vi.unstubAllGlobals())
|
||||
|
||||
describe('Anrufhistorie', () => {
|
||||
it('liest archivierte Anrufe und unterscheidet Ladefehler von einer leeren Historie', async () => {
|
||||
vi.stubGlobal('fetch', vi.fn()
|
||||
.mockResolvedValueOnce(new Response(JSON.stringify([call])))
|
||||
.mockResolvedValueOnce(new Response('[]'))
|
||||
.mockResolvedValueOnce(new Response('', { status: 503 })))
|
||||
|
||||
await expect(fetchIncomingCalls()).resolves.toEqual([call])
|
||||
await expect(fetchIncomingCalls()).resolves.toEqual([])
|
||||
await expect(fetchIncomingCalls()).rejects.toThrow('HTTP 503')
|
||||
})
|
||||
|
||||
it('findet Namen unabhängig von Großschreibung und Nummern ohne Formatierung', () => {
|
||||
expect(matchesCall(call, ' MUSTER ')).toBe(true)
|
||||
expect(matchesCall(call, '493012345')).toBe(true)
|
||||
expect(matchesCall(call, '(30) 12345')).toBe(true)
|
||||
expect(matchesCall(call, 'Andere Firma')).toBe(false)
|
||||
expect(matchesCall(call, 'Firma 12345')).toBe(false)
|
||||
expect(matchesCall(call, '')).toBe(true)
|
||||
})
|
||||
|
||||
it('zeigt bei älteren Ereignissen die Nummer aus peer, aber erfindet keine unbekannte Nummer', () => {
|
||||
expect(callerNumber({ ...call, peerNumber: '' })).toBe('+49 30 123-45')
|
||||
expect(callerNumber({ ...call, peerNumber: null, peer: '5215' })).toBe('5215')
|
||||
expect(callerNumber({ ...call, peerNumber: null, peer: 'unbekannt' })).toBeNull()
|
||||
expect(callerNumber({ ...call, peerNumber: null, peer: 'Muster GmbH' })).toBeNull()
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user