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.
28 lines
1.1 KiB
28 lines
1.1 KiB
3 years ago
|
import metadata from '../metadata.min.json' assert { type: 'json' }
|
||
|
import isValidNumberForRegionCustom from './isValidNumberForRegion.js'
|
||
|
import _isValidNumberForRegion from './isValidNumberForRegion_.js'
|
||
|
|
||
|
function isValidNumberForRegion(...parameters) {
|
||
|
parameters.push(metadata)
|
||
|
return isValidNumberForRegionCustom.apply(this, parameters)
|
||
|
}
|
||
|
|
||
|
describe('isValidNumberForRegion', () => {
|
||
|
it('should detect if is valid number for region', () => {
|
||
|
isValidNumberForRegion('07624369230', 'GB').should.equal(false)
|
||
|
isValidNumberForRegion('07624369230', 'IM').should.equal(true)
|
||
|
})
|
||
|
|
||
|
it('should validate arguments', () => {
|
||
|
expect(() => isValidNumberForRegion({ phone: '7624369230', country: 'GB' })).to.throw('number must be a string')
|
||
|
expect(() => isValidNumberForRegion('7624369230')).to.throw('country must be a string')
|
||
|
})
|
||
|
|
||
|
it('should work in edge cases', () => {
|
||
|
// Not a "viable" phone number.
|
||
|
isValidNumberForRegion('7', 'GB').should.equal(false)
|
||
|
|
||
|
// `options` argument `if/else` coverage.
|
||
|
_isValidNumberForRegion('07624369230', 'GB', {}, metadata).should.equal(false)
|
||
|
})
|
||
|
})
|