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
			| 
								 
											3 years ago
										 
									 | 
							
								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')
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								})
							 |