Spaces:
Running
Running
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'); | |
}); | |