docusaurus/v2/test/load/docs/order.test.js
Yangshun Tay 9d4a5d5359
Prettify all JavaScript files (#964)
* Prettify all JavaScript files

* Make trailingComma all

* Delete v2/.prettierignore

* Remove v2 Prettier commands in package.json
2018-09-17 15:34:55 +08:00

85 lines
2 KiB
JavaScript

import createOrder from '@lib/load/docs/order';
describe('createOrder', () => {
test('should populate docs index from multiple sidebars', () => {
const result = createOrder({
docs: {
Category1: ['doc1', 'doc2'],
Category2: ['doc3', 'doc4'],
},
otherDocs: {
Category1: ['doc5'],
},
});
expect(result).toEqual({
doc1: {
category: 'Category1',
next: 'doc2',
previous: undefined,
sidebar: 'docs',
},
doc2: {
category: 'Category1',
next: 'doc3',
previous: 'doc1',
sidebar: 'docs',
},
doc3: {
category: 'Category2',
next: 'doc4',
previous: 'doc2',
sidebar: 'docs',
},
doc4: {
category: 'Category2',
next: undefined,
previous: 'doc3',
sidebar: 'docs',
},
doc5: {
category: 'Category1',
next: undefined,
previous: undefined,
sidebar: 'otherDocs',
},
});
});
test('should resolve docs from older versions', () => {
const result = createOrder({
docs: {
Category1: ['doc1'],
},
'version-1.2.3-docs': {
Category1: ['version-1.2.3-doc2'],
Category2: ['version-1.2.3-doc1'],
},
});
expect(result).toEqual({
doc1: {
category: 'Category1',
next: undefined,
previous: undefined,
sidebar: 'docs',
},
'version-1.2.3-doc1': {
category: 'Category2',
next: undefined,
previous: 'version-1.2.3-doc2',
sidebar: 'version-1.2.3-docs',
},
'version-1.2.3-doc2': {
category: 'Category1',
next: 'version-1.2.3-doc1',
previous: undefined,
sidebar: 'version-1.2.3-docs',
},
});
});
test('edge cases', () => {
expect(createOrder({})).toEqual({});
expect(createOrder(null)).toEqual({});
expect(createOrder(undefined)).toEqual({});
});
});