{"version":3,"sources":["../source/metadata.test.js"],"names":["metadata","Metadata","validateMetadata","getExtPrefix","isSupportedCountry","describe","it","FR","country","type","should","equal","thrower","getNumberingPlanMetadata","a","b","countries","country_calling_codes","something"],"mappings":"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","sourcesContent":["import metadata from '../metadata.min.json'\r\n\r\nimport Metadata, { validateMetadata, getExtPrefix, isSupportedCountry } from './metadata'\r\n\r\ndescribe('metadata', () => {\r\n\tit('should return undefined for non-defined types', () => {\r\n\t\tconst FR = new Metadata(metadata).country('FR')\r\n\t\ttype(FR.type('FIXED_LINE')).should.equal('undefined')\r\n\t})\r\n\r\n\tit('should validate country', () => {\r\n\t\tconst thrower = () => new Metadata(metadata).country('RUS')\r\n\t\tthrower.should.throw('Unknown country')\r\n\t})\r\n\r\n\tit('should tell if a country is supported', () => {\r\n\t\tisSupportedCountry('RU', metadata).should.equal(true)\r\n\t\tisSupportedCountry('XX', metadata).should.equal(false)\r\n\t})\r\n\r\n\tit('should return ext prefix for a country', () => {\r\n\t\tgetExtPrefix('US', metadata).should.equal(' ext. ')\r\n\t\tgetExtPrefix('CA', metadata).should.equal(' ext. ')\r\n\t\tgetExtPrefix('GB', metadata).should.equal(' x')\r\n\t\t// expect(getExtPrefix('XX', metadata)).to.equal(undefined)\r\n\t\tgetExtPrefix('XX', metadata).should.equal(' ext. ')\r\n\t})\r\n\r\n\tit('should cover non-occuring edge cases', () => {\r\n\t\tnew Metadata(metadata).getNumberingPlanMetadata('999')\r\n\t})\r\n\r\n\tit('should validate metadata', () => {\r\n\t\tlet thrower = () => validateMetadata()\r\n\t\tthrower.should.throw('`metadata` argument not passed')\r\n\r\n\t\tthrower = () => validateMetadata(123)\r\n\t\tthrower.should.throw('Got a number: 123.')\r\n\r\n\t\tthrower = () => validateMetadata('abc')\r\n\t\tthrower.should.throw('Got a string: abc.')\r\n\r\n\t\tthrower = () => validateMetadata({ a: true, b: 2 })\r\n\t\tthrower.should.throw('Got an object of shape: { a, b }.')\r\n\r\n\t\tthrower = () => validateMetadata({ a: true, countries: 2 })\r\n\t\tthrower.should.throw('Got an object of shape: { a, countries }.')\r\n\r\n\t\tthrower = () => validateMetadata({ country_calling_codes: true, countries: 2 })\r\n\t\tthrower.should.throw('Got an object of shape')\r\n\r\n\t\tthrower = () => validateMetadata({ country_calling_codes: {}, countries: 2 })\r\n\t\tthrower.should.throw('Got an object of shape')\r\n\r\n\t\tvalidateMetadata({ country_calling_codes: {}, countries: {}, b: 3 })\r\n\t})\r\n})\r\n\r\nfunction type(something) {\r\n\treturn typeof something\r\n}"],"file":"metadata.test.js"}