20 lines
		
	
	
		
			835 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
		
			835 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								const createMinLengthRule = require('./minLength');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('createMinLength rule', () => {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const defaultRule = createMinLengthRule();
							 | 
						||
| 
								 | 
							
								  const atLeast5CharsRule = createMinLengthRule(5);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should return `undefined` if the length of the property value is long enough', () => {
							 | 
						||
| 
								 | 
							
								    expect(defaultRule({}, 'description', 'abc')).toBeUndefined();
							 | 
						||
| 
								 | 
							
								    expect(atLeast5CharsRule({}, 'description', 'abcde')).toBeUndefined();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should return an error message if length of the property value is not long enough', () => {
							 | 
						||
| 
								 | 
							
								    expect(defaultRule({}, 'description', 'a'))
							 | 
						||
| 
								 | 
							
								      .toEqual('Invalid "description" property: "a". It must have at least 2 characters.');
							 | 
						||
| 
								 | 
							
								    expect(atLeast5CharsRule({}, 'description', 'abcd'))
							 | 
						||
| 
								 | 
							
								      .toEqual('Invalid "description" property: "abcd". It must have at least 5 characters.');
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |