Spaces:
Running
Running
File size: 1,525 Bytes
6bcb42f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
jest.mock('../../../src/lib/analytics.js', () => ({
event: () => {}
}));
jest.mock('../../../src/lib/libraries/decks/index.jsx', () => ({
noUrlId: {},
foo: {urlId: 'one'},
noUrlIdSandwich: {}
}));
import queryString from 'query-string';
import {detectTutorialId} from '../../../src/lib/tutorial-from-url.js';
test('returns the tutorial ID if the urlId matches', () => {
const queryParams = queryString.parse('?tutorial=one');
expect(detectTutorialId(queryParams)).toBe('foo');
});
test('returns null if no matching urlId', () => {
const queryParams = queryString.parse('?tutorial=10');
expect(detectTutorialId(queryParams)).toBe(null);
});
test('returns null if empty template', () => {
const queryParams = queryString.parse('?tutorial=');
expect(detectTutorialId(queryParams)).toBe(null);
});
test('returns null if no query param', () => {
const queryParams = queryString.parse('');
expect(detectTutorialId(queryParams)).toBe(null);
});
test('returns null if unrecognized template', () => {
const queryParams = queryString.parse('?tutorial=asdf');
expect(detectTutorialId(queryParams)).toBe(null);
});
test('takes the first of multiple', () => {
const queryParams = queryString.parse('?tutorial=one&tutorial=two');
expect(detectTutorialId(queryParams)).toBe('foo');
});
test('returns all for the tutorial library shortcut', () => {
const queryParams = queryString.parse('?tutorial=all');
expect(detectTutorialId(queryParams)).toBe('all');
});
|