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.
		
		
		
		
		
			
		
			
				
					40 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					40 lines
				
				1.6 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								import metadata from '../metadata.min.json' assert { type: 'json' }
							 | 
						||
| 
								 | 
							
								import _isPossibleNumber from './isPossibleNumber.js'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function isPossibleNumber(...parameters) {
							 | 
						||
| 
								 | 
							
									parameters.push(metadata)
							 | 
						||
| 
								 | 
							
									return _isPossibleNumber.apply(this, parameters)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('isPossibleNumber', () => {
							 | 
						||
| 
								 | 
							
									it('should work', function()
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										isPossibleNumber('+79992223344').should.equal(true)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ phone: '1112223344', country: 'RU' }).should.equal(true)
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ phone: '111222334', country: 'RU' }).should.equal(false)
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ phone: '11122233445', country: 'RU' }).should.equal(false)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ phone: '1112223344', countryCallingCode: 7 }).should.equal(true)
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									it('should work v2', () => {
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ nationalNumber: '111222334', countryCallingCode: 7 }, { v2: true }).should.equal(false)
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ nationalNumber: '1112223344', countryCallingCode: 7 }, { v2: true }).should.equal(true)
							 | 
						||
| 
								 | 
							
										isPossibleNumber({ nationalNumber: '11122233445', countryCallingCode: 7 }, { v2: true }).should.equal(false)
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									it('should work in edge cases', () => {
							 | 
						||
| 
								 | 
							
										// Invalid `PhoneNumber` argument.
							 | 
						||
| 
								 | 
							
										expect(() => isPossibleNumber({}, { v2: true })).to.throw('Invalid phone number object passed')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// Empty input is passed.
							 | 
						||
| 
								 | 
							
										// This is just to support `isValidNumber({})`
							 | 
						||
| 
								 | 
							
										// for cases when `parseNumber()` returns `{}`.
							 | 
						||
| 
								 | 
							
										isPossibleNumber({}).should.equal(false)
							 | 
						||
| 
								 | 
							
										expect(() => isPossibleNumber({ phone: '1112223344' })).to.throw('Invalid phone number object passed')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// Incorrect country.
							 | 
						||
| 
								 | 
							
										expect(() => isPossibleNumber({ phone: '1112223344', country: 'XX' })).to.throw('Unknown country')
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								})
							 |