mirror of
https://github.com/facebook/docusaurus.git
synced 2025-08-03 16:59:06 +02:00
test: add test for load config
This commit is contained in:
parent
687bf09c96
commit
bf94bf96f8
6 changed files with 71 additions and 8 deletions
12
test/jest.config.js
Normal file
12
test/jest.config.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
rootDir: path.resolve(__dirname, '..'),
|
||||
verbose: true,
|
||||
testURL: 'http://localhost/',
|
||||
testEnvironment: 'node',
|
||||
moduleNameMapper: {
|
||||
'^@lib/(.*)$': '<rootDir>/lib/$1'
|
||||
},
|
||||
testPathIgnorePatterns: ['/node_modules/', '__fixtures__']
|
||||
};
|
4
test/load/__fixtures__/bad-site/siteConfig.js
Normal file
4
test/load/__fixtures__/bad-site/siteConfig.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
module.exports = {
|
||||
title: 'Munseo',
|
||||
baseUrl: '/'
|
||||
};
|
7
test/load/__fixtures__/simple-site/siteConfig.js
Normal file
7
test/load/__fixtures__/simple-site/siteConfig.js
Normal file
|
@ -0,0 +1,7 @@
|
|||
module.exports = {
|
||||
title: 'Hello',
|
||||
tagline: 'Hello World',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
baseUrl: '/'
|
||||
};
|
35
test/load/config.test.js
Normal file
35
test/load/config.test.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
import path from 'path';
|
||||
import loadConfig from '@lib/load/config.js';
|
||||
|
||||
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',
|
||||
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 are missing in siteConfig.js"`
|
||||
);
|
||||
});
|
||||
|
||||
test('website with no siteConfig', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'nonExisting');
|
||||
expect(() => {
|
||||
loadConfig(siteDir);
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"title, tagline, organizationName, projectName, baseUrl are missing in siteConfig.js"`
|
||||
);
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue