25 lines
		
	
	
		
			932 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			932 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const { toSortedArray } = require('./sort-files');
 | |
| const { challengeFiles } = require('./__fixtures__/challenges');
 | |
| 
 | |
| describe('sort-files', () => {
 | |
|   describe('toSortedArray', () => {
 | |
|     it('should return an array', () => {
 | |
|       const sorted = toSortedArray(challengeFiles);
 | |
|       expect(Array.isArray(sorted)).toBe(true);
 | |
|     });
 | |
|     it('should not modify the challenges', () => {
 | |
|       const sorted = toSortedArray(challengeFiles);
 | |
|       const expected = Object.values(challengeFiles);
 | |
|       expect(sorted).toEqual(expect.arrayContaining(expected));
 | |
|       expect(sorted.length).toEqual(expected.length);
 | |
|     });
 | |
| 
 | |
|     it('should sort the objects into html, js, css order', () => {
 | |
|       const sorted = toSortedArray(challengeFiles);
 | |
|       const sortedKeys = sorted.map(({ key }) => key);
 | |
|       const expected = ['indexhtml', 'indexjsx', 'indexjs', 'indexcss'];
 | |
|       expect(sortedKeys).toStrictEqual(expected);
 | |
|     });
 | |
|   });
 | |
| });
 |