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.
ngcp-csc-ui/t/unit/number-format.js

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);
});
});