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
|
|
|
});
|