mirror of
https://github.com/facebook/docusaurus.git
synced 2025-07-25 12:38:57 +02:00
refactor(content-docs): make readVersionsMetadata async (#6277)
* refactor(content-docs): make readVersionsMetadata async * fix tests
This commit is contained in:
parent
1d957d97e8
commit
edab7e07ed
5 changed files with 87 additions and 83 deletions
|
@ -166,7 +166,7 @@ describe('simple site', () => {
|
|||
...DEFAULT_OPTIONS,
|
||||
...loadSiteOptions.options,
|
||||
};
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
context,
|
||||
options,
|
||||
});
|
||||
|
@ -523,7 +523,7 @@ describe('versioned site', () => {
|
|||
...DEFAULT_OPTIONS,
|
||||
...loadSiteOptions.options,
|
||||
};
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
context,
|
||||
options,
|
||||
});
|
||||
|
|
|
@ -141,7 +141,7 @@ describe('sidebar', () => {
|
|||
Please set the docs \\"sidebarPath\\" field in your config file to:
|
||||
- a sidebars path that exists
|
||||
- false: to disable the sidebar
|
||||
- undefined: for Docusaurus generates it automatically"
|
||||
- undefined: for Docusaurus to generate it automatically"
|
||||
`);
|
||||
});
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ describe('simple site', () => {
|
|||
test('readVersionsMetadata simple site', async () => {
|
||||
const {defaultOptions, defaultContext, vCurrent} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: defaultOptions,
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -102,7 +102,7 @@ describe('simple site', () => {
|
|||
test('readVersionsMetadata simple site with base url', async () => {
|
||||
const {defaultOptions, defaultContext, vCurrent} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: defaultOptions,
|
||||
context: {
|
||||
...defaultContext,
|
||||
|
@ -122,7 +122,7 @@ describe('simple site', () => {
|
|||
test('readVersionsMetadata simple site with current version config', async () => {
|
||||
const {defaultOptions, defaultContext, vCurrent} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
versions: {
|
||||
|
@ -155,20 +155,20 @@ describe('simple site', () => {
|
|||
test('readVersionsMetadata simple site with unknown lastVersion should throw', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {...defaultOptions, lastVersion: 'unknownVersionName'},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Docs option lastVersion=unknownVersionName is invalid. Available version names are: current"`,
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Docs option lastVersion: unknownVersionName is invalid. Available version names are: current"`,
|
||||
);
|
||||
});
|
||||
|
||||
test('readVersionsMetadata simple site with unknown version configurations should throw', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
|
@ -180,7 +180,7 @@ describe('simple site', () => {
|
|||
},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid docs option \\"versions\\": unknown versions (unknownVersionName1,unknownVersionName2) found. Available version names are: current"`,
|
||||
);
|
||||
});
|
||||
|
@ -188,26 +188,26 @@ describe('simple site', () => {
|
|||
test('readVersionsMetadata simple site with disableVersioning while single version should throw', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {...defaultOptions, disableVersioning: true},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Docs: using \\"disableVersioning=true\\" option on a non-versioned site does not make sense."`,
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Docs: using \\"disableVersioning: true\\" option on a non-versioned site does not make sense."`,
|
||||
);
|
||||
});
|
||||
|
||||
test('readVersionsMetadata simple site without including current version should throw', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {...defaultOptions, includeCurrentVersion: false},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"It is not possible to use docs without any version. Please check the configuration of these options: \\"includeCurrentVersion=false\\", \\"disableVersioning=false\\"."`,
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"It is not possible to use docs without any version. Please check the configuration of these options: \\"includeCurrentVersion: false\\", \\"disableVersioning: false\\"."`,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
@ -327,7 +327,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
const {defaultOptions, defaultContext, vCurrent, v101, v100, vwithSlugs} =
|
||||
await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: defaultOptions,
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -339,7 +339,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
const {defaultOptions, defaultContext, v101, v100, vwithSlugs} =
|
||||
await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {...defaultOptions, includeCurrentVersion: false},
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -356,7 +356,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
const {defaultOptions, defaultContext, vCurrent, v101, v100, vwithSlugs} =
|
||||
await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
lastVersion: '1.0.0',
|
||||
|
@ -410,7 +410,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
const {defaultOptions, defaultContext, vCurrent, v101, v100, vwithSlugs} =
|
||||
await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',
|
||||
|
@ -454,7 +454,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
const {defaultOptions, defaultContext, vCurrent, v101, v100, vwithSlugs} =
|
||||
await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',
|
||||
|
@ -498,7 +498,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
test('readVersionsMetadata versioned site with onlyIncludeVersions option', async () => {
|
||||
const {defaultOptions, defaultContext, v101, vwithSlugs} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
// Order reversed on purpose: should not have any impact
|
||||
|
@ -513,7 +513,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
test('readVersionsMetadata versioned site with disableVersioning', async () => {
|
||||
const {defaultOptions, defaultContext, vCurrent} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {...defaultOptions, disableVersioning: true},
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -534,7 +534,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
test('readVersionsMetadata versioned site with all versions disabled', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
|
@ -543,15 +543,15 @@ describe('versioned site, pluginId=default', () => {
|
|||
},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"It is not possible to use docs without any version. Please check the configuration of these options: \\"includeCurrentVersion=false\\", \\"disableVersioning=true\\"."`,
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"It is not possible to use docs without any version. Please check the configuration of these options: \\"includeCurrentVersion: false\\", \\"disableVersioning: true\\"."`,
|
||||
);
|
||||
});
|
||||
|
||||
test('readVersionsMetadata versioned site with empty onlyIncludeVersions', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
|
@ -559,7 +559,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid docs option \\"onlyIncludeVersions\\": an empty array is not allowed, at least one version is needed."`,
|
||||
);
|
||||
});
|
||||
|
@ -567,7 +567,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
test('readVersionsMetadata versioned site with unknown versions in onlyIncludeVersions', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
|
@ -575,7 +575,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid docs option \\"onlyIncludeVersions\\": unknown versions (unknownVersion1,unknownVersion2) found. Available version names are: current, 1.0.1, 1.0.0, withSlugs"`,
|
||||
);
|
||||
});
|
||||
|
@ -583,7 +583,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
test('readVersionsMetadata versioned site with lastVersion not in onlyIncludeVersions', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
|
@ -592,7 +592,7 @@ describe('versioned site, pluginId=default', () => {
|
|||
},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid docs option \\"lastVersion\\": if you use both the \\"onlyIncludeVersions\\" and \\"lastVersion\\" options, then \\"lastVersion\\" must be present in the provided \\"onlyIncludeVersions\\" array."`,
|
||||
);
|
||||
});
|
||||
|
@ -604,12 +604,12 @@ describe('versioned site, pluginId=default', () => {
|
|||
invalid: 'json',
|
||||
}));
|
||||
|
||||
expect(() => {
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: defaultOptions,
|
||||
context: defaultContext,
|
||||
});
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
}),
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"The versions file should contain an array of versions! Found content: {\\"invalid\\":\\"json\\"}"`,
|
||||
);
|
||||
mock.mockRestore();
|
||||
|
@ -682,7 +682,7 @@ describe('versioned site, pluginId=community', () => {
|
|||
test('readVersionsMetadata versioned site (community)', async () => {
|
||||
const {defaultOptions, defaultContext, vCurrent, v100} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: defaultOptions,
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -693,7 +693,7 @@ describe('versioned site, pluginId=community', () => {
|
|||
test('readVersionsMetadata versioned site (community) with includeCurrentVersion=false', async () => {
|
||||
const {defaultOptions, defaultContext, v100} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {...defaultOptions, includeCurrentVersion: false},
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -707,7 +707,7 @@ describe('versioned site, pluginId=community', () => {
|
|||
test('readVersionsMetadata versioned site (community) with disableVersioning', async () => {
|
||||
const {defaultOptions, defaultContext, vCurrent} = await loadSite();
|
||||
|
||||
const versionsMetadata = readVersionsMetadata({
|
||||
const versionsMetadata = await readVersionsMetadata({
|
||||
options: {...defaultOptions, disableVersioning: true},
|
||||
context: defaultContext,
|
||||
});
|
||||
|
@ -728,7 +728,7 @@ describe('versioned site, pluginId=community', () => {
|
|||
test('readVersionsMetadata versioned site (community) with all versions disabled', async () => {
|
||||
const {defaultOptions, defaultContext} = await loadSite();
|
||||
|
||||
expect(() =>
|
||||
await expect(
|
||||
readVersionsMetadata({
|
||||
options: {
|
||||
...defaultOptions,
|
||||
|
@ -737,8 +737,8 @@ describe('versioned site, pluginId=community', () => {
|
|||
},
|
||||
context: defaultContext,
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"It is not possible to use docs without any version. Please check the configuration of these options: \\"includeCurrentVersion=false\\", \\"disableVersioning=true\\"."`,
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"It is not possible to use docs without any version. Please check the configuration of these options: \\"includeCurrentVersion: false\\", \\"disableVersioning: true\\"."`,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue