| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  | /* global expect */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-08 16:23:09 +02:00
										 |  |  | const { toSortedArray } = require('./sort-files'); | 
					
						
							| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  | const { challengeFiles } = require('./__fixtures__/challenges'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('sort-files', () => { | 
					
						
							| 
									
										
										
										
											2020-07-08 16:23:09 +02:00
										 |  |  |   describe('toSortedArray', () => { | 
					
						
							| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  |     it('should return an array', () => { | 
					
						
							| 
									
										
										
										
											2020-07-08 16:23:09 +02:00
										 |  |  |       const sorted = toSortedArray(challengeFiles); | 
					
						
							| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  |       expect(Array.isArray(sorted)).toBe(true); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |     it('should not modify the challenges', () => { | 
					
						
							| 
									
										
										
										
											2020-07-08 16:23:09 +02:00
										 |  |  |       const sorted = toSortedArray(challengeFiles); | 
					
						
							| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  |       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', () => { | 
					
						
							| 
									
										
										
										
											2020-07-08 16:23:09 +02:00
										 |  |  |       const sorted = toSortedArray(challengeFiles); | 
					
						
							| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  |       const sortedKeys = sorted.map(({ key }) => key); | 
					
						
							| 
									
										
										
										
											2020-06-03 15:24:02 +02:00
										 |  |  |       const expected = ['indexhtml', 'indexjsx', 'indexjs', 'indexcss']; | 
					
						
							| 
									
										
										
										
											2020-06-01 18:28:22 +02:00
										 |  |  |       expect(sortedKeys).toStrictEqual(expected); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | }); |