From 81d43bbac5a59735d4f548a56ea754e91b16f13a Mon Sep 17 00:00:00 2001 From: endiliey Date: Wed, 8 May 2019 23:10:40 +0800 Subject: [PATCH] more refactoring --- .../src/__tests__/index.test.js | 6 --- .../src/__tests__/metadata.test.js | 5 -- .../src/__tests__/sidebars.test.js | 1 - .../__fixtures__/website/pages/hello/world.js | 22 +++++++++ .../__fixtures__/website/pages/index.js | 23 +++++++++ .../src/__tests__/index.test.js | 48 +++++++++---------- 6 files changed, 67 insertions(+), 38 deletions(-) create mode 100644 packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/hello/world.js create mode 100644 packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/index.js diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.js b/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.js index 10d9ca56b1f4..dcfb73673f24 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.js +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.js @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -import '@babel/polyfill'; import path from 'path'; import DocusaurusPluginContentDocs from '../index'; @@ -14,13 +13,8 @@ describe('loadDocs', () => { const siteDir = path.join(__dirname, '__fixtures__', 'website'); const siteConfig = { title: 'Hello', - tagline: 'Hello World', - organizationName: 'endiliey', - projectName: 'hello', baseUrl: '/', url: 'https://docusaurus.io', - headerIcon: '', - favicon: '', }; const sidebarPath = path.join(siteDir, 'sidebars.json'); const plugin = new DocusaurusPluginContentDocs( diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.js b/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.js index af3d7fa3bc0b..c18bd07cc21a 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.js +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/metadata.test.js @@ -13,13 +13,8 @@ describe('processMetadata', () => { const siteDir = path.join(__dirname, '__fixtures__', 'website'); const siteConfig = { title: 'Hello', - tagline: 'Hello World', - organizationName: 'endiliey', - projectName: 'hello', baseUrl: '/', url: 'https://docusaurus.io', - headerIcon: '', - favicon: '', }; const docsDir = path.resolve(siteDir, 'docs'); diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.js b/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.js index 77db87cc534f..379bcff4c6d2 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.js +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.js @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -import '@babel/polyfill'; import path from 'path'; import loadSidebars from '../sidebars'; diff --git a/packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/hello/world.js b/packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/hello/world.js new file mode 100644 index 000000000000..46d0a16d4823 --- /dev/null +++ b/packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/hello/world.js @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import Head from '@docusaurus/Head'; + +export default class World extends React.Component { + render() { + return ( +
+ + World + +
Hello World
+
+ ); + } +} diff --git a/packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/index.js b/packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/index.js new file mode 100644 index 000000000000..db7b81919fd1 --- /dev/null +++ b/packages/docusaurus-plugin-content-pages/src/__tests__/__fixtures__/website/pages/index.js @@ -0,0 +1,23 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import Head from '@docusaurus/Head'; + +export default class Home extends React.Component { + render() { + return ( +
+ + Home + + +
Home ...
+
+ ); + } +} diff --git a/packages/docusaurus-plugin-content-pages/src/__tests__/index.test.js b/packages/docusaurus-plugin-content-pages/src/__tests__/index.test.js index 52faa3dd386c..945d449b37c2 100644 --- a/packages/docusaurus-plugin-content-pages/src/__tests__/index.test.js +++ b/packages/docusaurus-plugin-content-pages/src/__tests__/index.test.js @@ -7,35 +7,31 @@ import path from 'path'; -import loadSetup from '../../../docusaurus/src/server/load/loadSetup'; import DocusaurusPluginContentPages from '../index'; describe('docusaurus-plugin-content-pages', () => { - describe('loadContent', () => { - test.each([ - [ - 'simple', - pagesDir => [ - { - permalink: '/', - source: path.join(pagesDir, 'index.js'), - }, - { - permalink: '/hello/world', - source: path.join(pagesDir, 'hello', 'world.js'), - }, - ], - ], - ])('%s website', async (type, expected) => { - const {siteDir, siteConfig} = await loadSetup(type); - const plugin = new DocusaurusPluginContentPages({ - siteDir, - siteConfig, - }); - const pagesMetadatas = await plugin.loadContent(); - const pagesDir = plugin.contentPath; - - expect(pagesMetadatas).toEqual(expected(pagesDir)); + test('simple pages', async () => { + const siteConfig = { + title: 'Hello', + baseUrl: '/', + url: 'https://docusaurus.io', + }; + const siteDir = path.join(__dirname, '__fixtures__', 'website'); + const plugin = new DocusaurusPluginContentPages({ + siteDir, + siteConfig, }); + const pagesMetadatas = await plugin.loadContent(); + const pagesDir = plugin.contentPath; + expect(pagesMetadatas).toEqual([ + { + permalink: '/', + source: path.join(pagesDir, 'index.js'), + }, + { + permalink: '/hello/world', + source: path.join(pagesDir, 'hello', 'world.js'), + }, + ]); }); });