isPossibleNumber.test.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. "use strict";
  2. var _metadataMin = _interopRequireDefault(require("../../metadata.min.json"));
  3. var _isPossibleNumber2 = _interopRequireDefault(require("./isPossibleNumber.js"));
  4. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  5. function isPossibleNumber() {
  6. for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) {
  7. parameters[_key] = arguments[_key];
  8. }
  9. parameters.push(_metadataMin["default"]);
  10. return _isPossibleNumber2["default"].apply(this, parameters);
  11. }
  12. describe('isPossibleNumber', function () {
  13. it('should work', function () {
  14. isPossibleNumber('+79992223344').should.equal(true);
  15. isPossibleNumber({
  16. phone: '1112223344',
  17. country: 'RU'
  18. }).should.equal(true);
  19. isPossibleNumber({
  20. phone: '111222334',
  21. country: 'RU'
  22. }).should.equal(false);
  23. isPossibleNumber({
  24. phone: '11122233445',
  25. country: 'RU'
  26. }).should.equal(false);
  27. isPossibleNumber({
  28. phone: '1112223344',
  29. countryCallingCode: 7
  30. }).should.equal(true);
  31. });
  32. it('should work v2', function () {
  33. isPossibleNumber({
  34. nationalNumber: '111222334',
  35. countryCallingCode: 7
  36. }, {
  37. v2: true
  38. }).should.equal(false);
  39. isPossibleNumber({
  40. nationalNumber: '1112223344',
  41. countryCallingCode: 7
  42. }, {
  43. v2: true
  44. }).should.equal(true);
  45. isPossibleNumber({
  46. nationalNumber: '11122233445',
  47. countryCallingCode: 7
  48. }, {
  49. v2: true
  50. }).should.equal(false);
  51. });
  52. it('should work in edge cases', function () {
  53. // Invalid `PhoneNumber` argument.
  54. expect(function () {
  55. return isPossibleNumber({}, {
  56. v2: true
  57. });
  58. }).to["throw"]('Invalid phone number object passed'); // Empty input is passed.
  59. // This is just to support `isValidNumber({})`
  60. // for cases when `parseNumber()` returns `{}`.
  61. isPossibleNumber({}).should.equal(false);
  62. expect(function () {
  63. return isPossibleNumber({
  64. phone: '1112223344'
  65. });
  66. }).to["throw"]('Invalid phone number object passed'); // Incorrect country.
  67. expect(function () {
  68. return isPossibleNumber({
  69. phone: '1112223344',
  70. country: 'XX'
  71. });
  72. }).to["throw"]('Unknown country');
  73. });
  74. });
  75. //# sourceMappingURL=isPossibleNumber.test.js.map