You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.7 KiB
69 lines
2.7 KiB
'use strict';
|
|
|
|
import { assert } from 'chai';
|
|
import numberFormat from '../../src/filters/number-format';
|
|
import { normalizeNumber, normalizeDestination } from '../../src/filters/number-format';
|
|
|
|
const numbers = {
|
|
valid1: '+43 993 004',
|
|
valid2: '43993004',
|
|
valid3: ' 43993004 ',
|
|
valid4: '+43993004',
|
|
valid5: '43 993 004',
|
|
valid6: '4 3 9 9 3 0 0 4',
|
|
valid7: '+4 3 9 9 3 0 0 4',
|
|
valid8: ' +43993004 ',
|
|
invalid1: '43993004+',
|
|
invalid2: '$43993004',
|
|
invalid3: 'a43993004',
|
|
invalid4: 'abcdefghi'
|
|
};
|
|
|
|
const sipUris = {
|
|
valid1: 'sip:43993004@sipwise.com',
|
|
invalid1: 'sip:a43993004@sipwise.com'
|
|
};
|
|
|
|
const destinations = {
|
|
voiceMail: 'sip:vmu@voicebox.local',
|
|
fax2Mail: 'sip:@fax2mail.local',
|
|
managerSecretary: 'sip:@managersecretary.local',
|
|
app: 'sip:app@app.local',
|
|
customHours: 'sip:custom-hours@app.local',
|
|
conference: 'sip:@conference.local',
|
|
number: 'sip:43993004@sipwise.com'
|
|
};
|
|
|
|
describe('NumberFormatFilter', function() {
|
|
|
|
it('should normalize phone numbers', function(){
|
|
assert.equal(normalizeNumber(numbers.valid1), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid2), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid3), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid4), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid5), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid6), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid7), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.valid8), numbers.valid1);
|
|
assert.equal(normalizeNumber(numbers.invalid1), numbers.invalid1);
|
|
assert.equal(normalizeNumber(numbers.invalid2), numbers.invalid2);
|
|
assert.equal(normalizeNumber(numbers.invalid3), numbers.invalid3);
|
|
assert.equal(normalizeNumber(numbers.invalid4), numbers.invalid4);
|
|
});
|
|
|
|
it('should format a number or sip uri', function(){
|
|
assert.equal(numberFormat(sipUris.valid1), numbers.valid1);
|
|
assert.equal(numberFormat(sipUris.invalid1), numbers.invalid3);
|
|
});
|
|
|
|
it('should format a call forward destination', function(){
|
|
assert.equal(normalizeDestination(destinations.voiceMail), 'Voicebox');
|
|
assert.equal(normalizeDestination(destinations.fax2Mail), 'Fax2Mail');
|
|
assert.equal(normalizeDestination(destinations.managerSecretary), 'Manager Secretary');
|
|
assert.equal(normalizeDestination(destinations.app), 'App');
|
|
assert.equal(normalizeDestination(destinations.customHours), 'Custom Announcement');
|
|
assert.equal(normalizeDestination(destinations.conference), 'Conference');
|
|
assert.equal(normalizeDestination(destinations.number), numbers.valid1);
|
|
});
|
|
});
|