/
versioning-metadata.spec.ts
42 lines (40 loc) · 1.42 KB
/
versioning-metadata.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { readFile, readdir } from 'fs-extra';
describe('versioning/versioning-metadata', () => {
it('readme no markdown headers', async () => {
const allVersioning = (await readdir('lib/versioning')).filter(
(item) => !item.includes('.')
);
for (const versioning of allVersioning) {
let readme: string;
try {
readme = await readFile(
'lib/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/versioning')).filter(
(item) => !item.includes('.') && !item.startsWith('_')
);
// TODO: revert rez in #10930
for (const versioning of allVersioning.filter((v) => v !== 'rez')) {
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();
}
}
});
});