diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts index acf3c089d6..13c9718045 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts @@ -13,7 +13,7 @@ import { posixPath, DEFAULT_PLUGIN_ID, getLocaleConfig, - VCS_HARDCODED_LAST_UPDATE_INFO, + DEFAULT_TEST_VCS_CONFIG, } from '@docusaurus/utils'; import {getTagsFile} from '@docusaurus/utils-validation'; import {createSidebarsUtils} from '../sidebars/utils'; @@ -529,8 +529,8 @@ describe('simple site', () => { custom_edit_url: 'https://github.com/customUrl/docs/lorem.md', unrelated_front_matter: "won't be part of metadata", }, - lastUpdatedAt: VCS_HARDCODED_LAST_UPDATE_INFO.timestamp, - lastUpdatedBy: VCS_HARDCODED_LAST_UPDATE_INFO.author, + lastUpdatedAt: DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.timestamp, + lastUpdatedBy: DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.author, tags: [], unlisted: false, }); @@ -664,7 +664,7 @@ describe('simple site', () => { }, title: 'Last Update Author Only', }, - lastUpdatedAt: VCS_HARDCODED_LAST_UPDATE_INFO.timestamp, + lastUpdatedAt: DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.timestamp, lastUpdatedBy: 'Custom Author (processed by parseFrontMatter)', sidebarPosition: undefined, tags: [], diff --git a/packages/docusaurus-utils/src/__tests__/lastUpdateUtils.test.ts b/packages/docusaurus-utils/src/__tests__/lastUpdateUtils.test.ts index ee3f31947c..bf7820d6b8 100644 --- a/packages/docusaurus-utils/src/__tests__/lastUpdateUtils.test.ts +++ b/packages/docusaurus-utils/src/__tests__/lastUpdateUtils.test.ts @@ -6,11 +6,7 @@ */ import {readLastUpdateData} from '../lastUpdateUtils'; -import { - VcsHardcoded, - VCS_HARDCODED_UNTRACKED_FILE_PATH, - VCS_HARDCODED_LAST_UPDATE_INFO, -} from '../vcs/vcsHardcoded'; +import {DEFAULT_TEST_VCS_CONFIG} from '../vcs/vcs'; import type {FrontMatterLastUpdate} from '../lastUpdateUtils'; @@ -28,7 +24,7 @@ describe('readLastUpdateData', () => { filePath, options, lastUpdateFrontMatter, - VcsHardcoded, + DEFAULT_TEST_VCS_CONFIG, ); } @@ -37,7 +33,7 @@ describe('readLastUpdateData', () => { lastUpdateFrontMatter: FrontMatterLastUpdate | undefined, ) { return readData( - VCS_HARDCODED_UNTRACKED_FILE_PATH, + DEFAULT_TEST_VCS_CONFIG.UNTRACKED_FILE_PATH, {showLastUpdateAuthor: true, showLastUpdateTime: true}, lastUpdateFrontMatter, ); @@ -73,7 +69,7 @@ describe('readLastUpdateData', () => { {date: testDate}, ); expect(lastUpdatedAt).toEqual(testTimestamp); - expect(lastUpdatedBy).toBe(VCS_HARDCODED_LAST_UPDATE_INFO.author); + expect(lastUpdatedBy).toBe(DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.author); }); it('read last author show author time', async () => { @@ -83,7 +79,9 @@ describe('readLastUpdateData', () => { {author: testAuthor}, ); expect(lastUpdatedBy).toEqual(testAuthor); - expect(lastUpdatedAt).toBe(VCS_HARDCODED_LAST_UPDATE_INFO.timestamp); + expect(lastUpdatedAt).toBe( + DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.timestamp, + ); }); it('read last all show author time', async () => { @@ -120,7 +118,7 @@ describe('readLastUpdateData', () => { {showLastUpdateAuthor: true, showLastUpdateTime: false}, {date: testDate}, ); - expect(lastUpdatedBy).toBe(VCS_HARDCODED_LAST_UPDATE_INFO.author); + expect(lastUpdatedBy).toBe(DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.author); expect(lastUpdatedAt).toBeUndefined(); }); @@ -140,7 +138,7 @@ describe('readLastUpdateData', () => { {showLastUpdateAuthor: true, showLastUpdateTime: false}, {}, ); - expect(lastUpdatedBy).toBe(VCS_HARDCODED_LAST_UPDATE_INFO.author); + expect(lastUpdatedBy).toBe(DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.author); expect(lastUpdatedAt).toBeUndefined(); }); @@ -161,7 +159,9 @@ describe('readLastUpdateData', () => { {author: testAuthor}, ); expect(lastUpdatedBy).toBeUndefined(); - expect(lastUpdatedAt).toEqual(VCS_HARDCODED_LAST_UPDATE_INFO.timestamp); + expect(lastUpdatedAt).toEqual( + DEFAULT_TEST_VCS_CONFIG.LAST_UPDATE_INFO.timestamp, + ); }); it('read last author show time only - both front matter', async () => { diff --git a/packages/docusaurus-utils/src/vcs/vcs.ts b/packages/docusaurus-utils/src/vcs/vcs.ts index 979be29d30..b9dab81877 100644 --- a/packages/docusaurus-utils/src/vcs/vcs.ts +++ b/packages/docusaurus-utils/src/vcs/vcs.ts @@ -5,7 +5,12 @@ * LICENSE file in the root directory of this source tree. */ -import {VcsHardcoded} from './vcsHardcoded'; +import { + VCS_HARDCODED_CREATION_INFO, + VCS_HARDCODED_LAST_UPDATE_INFO, + VCS_HARDCODED_UNTRACKED_FILE_PATH, + VcsHardcoded, +} from './vcsHardcoded'; import {VcsGitAdHoc} from './vcsGitAdHoc'; import {VscGitEager} from './vcsGitEager'; import {VcsDisabled} from './vcsDisabled'; @@ -40,4 +45,10 @@ export function getVcsPreset(presetName: VcsPreset): VcsConfig { } } -export const DEFAULT_TEST_VCS_CONFIG: VcsConfig = VcsHardcoded; +// Convenient export for writing unit tests depending on VCS +export const DEFAULT_TEST_VCS_CONFIG = { + CREATION_INFO: VCS_HARDCODED_CREATION_INFO, + LAST_UPDATE_INFO: VCS_HARDCODED_LAST_UPDATE_INFO, + UNTRACKED_FILE_PATH: VCS_HARDCODED_UNTRACKED_FILE_PATH, + ...VcsHardcoded, +};