Anruf-Popup auch für Kuriere: Rufnummernsuche findet Kunden und Kuriere
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { pickCustomer, sameNumber, type StoredAddress } from './addresses'
|
||||
import { pickCaller, sameNumber, type StoredAddress } from './addresses'
|
||||
|
||||
/**
|
||||
* SwyxIt! meldet Rufnummern mit Amtsholung ("001602107449"), die Webhooks
|
||||
@@ -32,7 +32,7 @@ describe('sameNumber', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('pickCustomer', () => {
|
||||
describe('pickCaller', () => {
|
||||
const entries: StoredAddress[] = [
|
||||
{ number: '5215', name: 'Abdul, Rokhsareh', description: 'Globales Telefonbuch' },
|
||||
{
|
||||
@@ -43,21 +43,39 @@ describe('pickCustomer', () => {
|
||||
cscId: 100164,
|
||||
url: 'https://test.sb.assecutor.de/admin/tapi_wrapper.php?phoneNo=01602107449',
|
||||
},
|
||||
{ number: '+49171677xxxx', name: 'Rainer Peters (HH1003)', role: 'courier' },
|
||||
{
|
||||
number: '+49171677xxxx',
|
||||
name: 'Rainer Peters (HH1003)',
|
||||
role: 'courier',
|
||||
jobIds: [21891233],
|
||||
},
|
||||
]
|
||||
|
||||
it('findet den Kunden zur gemeldeten Rufnummer', () => {
|
||||
const match = pickCustomer(entries, '001602107449')
|
||||
const match = pickCaller(entries, '001602107449')
|
||||
expect(match?.name).toBe('SYSGEN GmbH')
|
||||
expect(match?.url).toContain('tapi_wrapper')
|
||||
})
|
||||
|
||||
it('übergeht Telefonbuch-Einträge und Kuriere', () => {
|
||||
expect(pickCustomer(entries, '5215')).toBeNull()
|
||||
expect(pickCustomer(entries, '+49171677xxxx')).toBeNull()
|
||||
it('findet auch den Kurier zur gemeldeten Rufnummer', () => {
|
||||
const match = pickCaller(entries, '+49171677xxxx')
|
||||
expect(match?.name).toBe('Rainer Peters (HH1003)')
|
||||
expect(match?.jobIds).toEqual([21891233])
|
||||
})
|
||||
|
||||
it('übergeht Telefonbuch-Einträge (ohne Rolle)', () => {
|
||||
expect(pickCaller(entries, '5215')).toBeNull()
|
||||
})
|
||||
|
||||
it('bevorzugt bei doppelter Rufnummer den Kunden vor dem Kurier', () => {
|
||||
const both: StoredAddress[] = [
|
||||
{ number: '+49404711', name: 'Kurier', role: 'courier' },
|
||||
{ number: '+49404711', name: 'Kunde', role: 'customer' },
|
||||
]
|
||||
expect(pickCaller(both, '+49404711')?.name).toBe('Kunde')
|
||||
})
|
||||
|
||||
it('liefert null, wenn keine Rufnummer passt', () => {
|
||||
expect(pickCustomer(entries, '+49404711')).toBeNull()
|
||||
expect(pickCaller(entries, '+49404711')).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user