UNPKG

5.09 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../source/getNumberType.test.js"],"names":["getNumberType","parameters","push","metadata","_getNumberType","apply","describe","it","should","equal","thrower","phone","country","type","something"],"mappings":"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","sourcesContent":["import metadata from '../metadata.full'\r\nimport Metadata from './metadata'\r\nimport _getNumberType from './getNumberType'\r\n\r\nfunction getNumberType(...parameters) {\r\n\tparameters.push(metadata)\r\n\treturn _getNumberType.apply(this, parameters)\r\n}\r\n\r\ndescribe('getNumberType', () => {\r\n\tit('should infer phone number type MOBILE', () => {\r\n\t\tgetNumberType('9150000000', 'RU').should.equal('MOBILE')\r\n\t\tgetNumberType('7912345678', 'GB').should.equal('MOBILE')\r\n\t\tgetNumberType('51234567', 'EE').should.equal('MOBILE')\r\n\t})\r\n\r\n\tit('should infer phone number types', () => {\r\n\t\tgetNumberType('88005553535', 'RU').should.equal('TOLL_FREE')\r\n\t\tgetNumberType('8005553535', 'RU').should.equal('TOLL_FREE')\r\n\t\tgetNumberType('4957777777', 'RU').should.equal('FIXED_LINE')\r\n\t\tgetNumberType('8030000000', 'RU').should.equal('PREMIUM_RATE')\r\n\r\n\t\tgetNumberType('2133734253', 'US').should.equal('FIXED_LINE_OR_MOBILE')\r\n\t\tgetNumberType('5002345678', 'US').should.equal('PERSONAL_NUMBER')\r\n\t})\r\n\r\n\tit('should work when no country is passed', () => {\r\n\t\tgetNumberType('+79150000000').should.equal('MOBILE')\r\n\t})\r\n\r\n\tit('should return FIXED_LINE_OR_MOBILE when there is ambiguity', () => {\r\n\t\t// (no such country in the metadata, therefore no unit test for this `if`)\r\n\t})\r\n\r\n\tit('should work in edge cases', function() {\r\n\t\tlet thrower\r\n\r\n\t\t// // No metadata\r\n\t\t// thrower = () => _getNumberType({ phone: '+78005553535' })\r\n\t\t// thrower.should.throw('`metadata` argument not passed')\r\n\r\n\t\t// Parsed phone number\r\n\t\tgetNumberType({ phone: '8005553535', country: 'RU' }).should.equal('TOLL_FREE')\r\n\r\n\t\t// Invalid phone number\r\n\t\ttype(getNumberType('123', 'RU')).should.equal('undefined')\r\n\r\n\t\t// Invalid country\r\n\t\tthrower = () => getNumberType({ phone: '8005553535', country: 'RUS' })\r\n\t\tthrower.should.throw('Unknown country')\r\n\r\n\t\t// Numerical `value`\r\n\t\tthrower = () => getNumberType(89150000000, 'RU')\r\n\t\tthrower.should.throw('A phone number must either be a string or an object of shape { phone, [country] }.')\r\n\r\n\t\t// When `options` argument is passed.\r\n\t\tgetNumberType('8005553535', 'RU', {}).should.equal('TOLL_FREE')\r\n\t\tgetNumberType('+78005553535', {}).should.equal('TOLL_FREE')\r\n\t\tgetNumberType({ phone: '8005553535', country: 'RU' }, {}).should.equal('TOLL_FREE')\r\n\t})\r\n})\r\n\r\nfunction type(something) {\r\n\treturn typeof something\r\n}"],"file":"getNumberType.test.js"}
\No newline at end of file