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.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							1.3 KiB
						
					
					
				| import _validatePhoneNumberLength from './validatePhoneNumberLength.js'
 | |
| import metadata from '../metadata.min.json' assert { type: 'json' }
 | |
| 
 | |
| function validatePhoneNumberLength(...parameters) {
 | |
| 	parameters.push(metadata)
 | |
| 	return _validatePhoneNumberLength.apply(this, parameters)
 | |
| }
 | |
| 
 | |
| describe('validatePhoneNumberLength', () => {
 | |
| 	it('should detect whether a phone number length is valid', () => {
 | |
| 		// Not a phone number.
 | |
| 		validatePhoneNumberLength('+').should.equal('NOT_A_NUMBER')
 | |
| 		validatePhoneNumberLength('abcde').should.equal('NOT_A_NUMBER')
 | |
| 
 | |
| 		// No country supplied for a national number.
 | |
| 		validatePhoneNumberLength('123').should.equal('INVALID_COUNTRY')
 | |
| 
 | |
| 		// Too short while the number is not considered "viable"
 | |
| 		// by Google's `libphonenumber`.
 | |
| 		validatePhoneNumberLength('2', 'US').should.equal('TOO_SHORT')
 | |
| 		validatePhoneNumberLength('+1', 'US').should.equal('TOO_SHORT')
 | |
| 		validatePhoneNumberLength('+12', 'US').should.equal('TOO_SHORT')
 | |
| 
 | |
| 		// Test national (significant) number length.
 | |
| 		validatePhoneNumberLength('444 1 44', 'TR').should.equal('TOO_SHORT')
 | |
| 		expect(validatePhoneNumberLength('444 1 444', 'TR')).to.be.undefined
 | |
| 		validatePhoneNumberLength('444 1 4444', 'TR').should.equal('INVALID_LENGTH')
 | |
| 		validatePhoneNumberLength('444 1 4444444444', 'TR').should.equal('TOO_LONG')
 | |
| 	})
 | |
| }) |