docusaurus/v2/test/load/config.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

46 lines
1.4 KiB
JavaScript

import path from 'path';
import loadConfig from '@lib/load/config';
describe('loadConfig', () => {
test('website with valid siteConfig', () => {
const siteDir = path.join(__dirname, '__fixtures__', 'simple-site');
const config = loadConfig(siteDir);
expect(config).toEqual({
baseUrl: '/',
organizationName: 'endiliey',
customDocsPath: 'docs',
docsUrl: 'docs',
projectName: 'hello',
tagline: 'Hello World',
title: 'Hello',
});
expect(config).not.toEqual({});
});
test('website with incomplete siteConfig', () => {
const siteDir = path.join(__dirname, '__fixtures__', 'bad-site');
expect(() => {
loadConfig(siteDir);
}).toThrowErrorMatchingInlineSnapshot(
`"tagline, organizationName, projectName fields are missing in siteConfig.js"`,
);
});
test('website with useless field (wrong field) in siteConfig', () => {
const siteDir = path.join(__dirname, '__fixtures__', 'wrong-site');
expect(() => {
loadConfig(siteDir);
}).toThrowErrorMatchingInlineSnapshot(
`"useLessField fields are useless in siteConfig.js"`,
);
});
test('website with no siteConfig', () => {
const siteDir = path.join(__dirname, '__fixtures__', 'nonExisting');
expect(() => {
loadConfig(siteDir);
}).toThrowErrorMatchingInlineSnapshot(
`"title, tagline, organizationName, projectName, baseUrl fields are missing in siteConfig.js"`,
);
});
});