mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-14 16:46:25 +00:00
c42957a804
* fix null-check issues * Update lib/modules/versioning/versioning-metadata.spec.ts Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { readFile, readdir } from 'fs-extra';
|
|
|
|
describe('modules/versioning/versioning-metadata', () => {
|
|
it('readme no markdown headers', async () => {
|
|
const allVersioning = (await readdir('lib/modules/versioning')).filter(
|
|
(item) => !item.includes('.')
|
|
);
|
|
for (const versioning of allVersioning) {
|
|
let readme: string | undefined;
|
|
try {
|
|
readme = await readFile(
|
|
'lib/modules/versioning/' + versioning + '/readme.md',
|
|
'utf8'
|
|
);
|
|
} catch (err) {
|
|
// ignore missing file
|
|
}
|
|
if (readme) {
|
|
// eslint-disable-next-line jest/no-conditional-expect
|
|
expect(RegExp(/(^|\n)#+ /).exec(readme)).toBeNull();
|
|
}
|
|
}
|
|
});
|
|
|
|
it('contains mandatory fields', async () => {
|
|
const allVersioning = (await readdir('lib/modules/versioning')).filter(
|
|
(item) => !item.includes('.') && !item.startsWith('_')
|
|
);
|
|
|
|
for (const versioning of allVersioning) {
|
|
const versioningObj = require(`./${versioning}`);
|
|
expect(versioningObj.id).toEqual(versioning);
|
|
expect(versioningObj.displayName).toBeDefined();
|
|
expect(versioningObj.urls).toBeDefined();
|
|
expect(versioningObj.supportsRanges).toBeDefined();
|
|
if (versioningObj.supportsRanges === true) {
|
|
// eslint-disable-next-line jest/no-conditional-expect
|
|
expect(versioningObj.supportedRangeStrategies).toBeDefined();
|
|
}
|
|
}
|
|
});
|
|
});
|