| 
									
										
										
										
											2018-10-07 08:52:41 +01:00
										 |  |  | /* global describe expect */ | 
					
						
							|  |  |  | const { isPlainObject } = require('lodash'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const { createPathMigrationMap } = require('./createPathMigrationMap'); | 
					
						
							|  |  |  | const mockCurriculum = require('./__mocks__/curriculum.json'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('createPathMigrationMap', () => { | 
					
						
							|  |  |  |   const pathMap = createPathMigrationMap(mockCurriculum); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('is a function', () => { | 
					
						
							|  |  |  |     expect(typeof createPathMigrationMap).toEqual('function'); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('returns an object', () => { | 
					
						
							|  |  |  |     expect(isPlainObject(pathMap)).toBe(true); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('maps a challenge title to the correct uri slug', () => { | 
					
						
							|  |  |  |     expect.assertions(3); | 
					
						
							|  |  |  |     const slugOne = '/learn/super-block-b/block-one/challenge-ten'; | 
					
						
							|  |  |  |     const slugTwo = '/learn/super-block-a/block-two/challenge-five'; | 
					
						
							|  |  |  |     const slugThree = '/learn/super-block-a/block-one/challenge-three'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect(pathMap['challenge-ten']).toEqual(slugOne); | 
					
						
							|  |  |  |     expect(pathMap['challenge-five']).toEqual(slugTwo); | 
					
						
							|  |  |  |     expect(pathMap['challenge-three']).toEqual(slugThree); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('does not add uri migrations for private challenges', () => { | 
					
						
							|  |  |  |     expect(pathMap['challenge-nine']).toBeUndefined(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2018-10-07 09:11:36 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   it('output snapshot', () => { | 
					
						
							|  |  |  |     expect(createPathMigrationMap(mockCurriculum)).toMatchSnapshot(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2018-10-07 08:52:41 +01:00
										 |  |  | }); |