Skip to content

Commit 0677ba4

Browse files
committed
Readd tools testing
1 parent 9e9e5fb commit 0677ba4

1 file changed

Lines changed: 56 additions & 71 deletions

File tree

build/tests/npDatabase.test.ts

Lines changed: 56 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -62,44 +62,34 @@ describe('NpDatabase', () => {
6262
})
6363

6464
describe('mods', () => {
65-
for (let mod of Object.keys(npDatabase)) {
65+
for (const mod of Object.keys(npDatabase)) {
6666
testPackage(npDatabase[mod], mod)
6767
}
6868
})
6969
})
70-
//
71-
// if (!process.env['donttesttools']) {
72-
// let tools: PackageDB
73-
// const toolsPromise = new Promise<void>((resolve, reject) => {
74-
// const branch = process.env['BRANCH']!
75-
// gitReadFunc(branch, 'tools.json')
76-
// .then(data => {
77-
// if (!data) return reject(`tools.json not found on branch ${branch}`)
78-
// tools = JSON.parse(data!)
79-
// resolve()
80-
// })
81-
// .catch(err => reject(err))
82-
// })
83-
//
84-
// describe('ToolsDB', async () => {
85-
// it('Check json structure', async () => {
86-
// await toolsPromise
87-
//
88-
// expect(typeof tools === 'object', 'Json not valid: Not an object').toBeTrue()
89-
// expect(Array.isArray(tools), 'Json not valid: Not an object').to.be.false
90-
// expect(tools !== null, 'Json not valid: Not an object').toBeTrue()
91-
// })
92-
//
93-
// describe('tools', async () => {
94-
// await toolsPromise
95-
//
96-
// for (const mod of Object.keys(tools)) {
97-
// testPackage(tools[mod], mod)
98-
// }
99-
// })
100-
// })
101-
// }
102-
//
70+
71+
if (!process.env['donttesttools']) {
72+
const branch = process.env['BRANCH']!
73+
const tools = await gitReadFunc(branch, 'tools.json').then(data => {
74+
if (!data) throw new Error(`tools.json not found on branch ${branch}`)
75+
return JSON.parse(data!) as PackageDB
76+
})
77+
78+
describe('ToolsDB', async () => {
79+
test('json structure', async () => {
80+
expect(typeof tools === 'object', 'Json not valid: Not an object').toBeTrue()
81+
expect(Array.isArray(tools), 'Json not valid: Not an object').toBeFalse()
82+
expect(tools !== null, 'Json not valid: Not an object').toBeTrue()
83+
})
84+
85+
describe('tools', () => {
86+
for (const mod of Object.keys(tools)) {
87+
testPackage(tools[mod], mod)
88+
}
89+
})
90+
})
91+
}
92+
10393
export function testPackage(mod: Package, name: string) {
10494
describe(name, () => {
10595
test('required elements', () => {
@@ -226,47 +216,42 @@ function testMetadataCCMod(ccmod: PkgCCMod) {
226216

227217
if (ccmod.dependencies) {
228218
test('mod dependencies', () => {
229-
if (ccmod.dependencies) {
230-
expect(
231-
typeof ccmod.dependencies === 'object',
232-
'ccmod.dependencies (type: object) must be an object'
233-
).toBeTrue()
234-
expect(
235-
Array.isArray(ccmod.dependencies),
236-
'ccmod.dependencies (type: object) must be an object'
237-
).toBeFalse()
219+
expect(!ccmod.dependencies || typeof ccmod.dependencies == 'object').toBeTrue()
220+
221+
expect(
222+
typeof ccmod.dependencies === 'object',
223+
'ccmod.dependencies (type: object) must be an object'
224+
).toBeTrue()
225+
expect(
226+
Array.isArray(ccmod.dependencies),
227+
'ccmod.dependencies (type: object) must be an object'
228+
).toBeFalse()
229+
expect(
230+
ccmod.dependencies !== null,
231+
'ccmod.dependencies (type: object) must be an object'
232+
).toBeTrue()
233+
234+
for (const depId in ccmod.dependencies!) {
235+
const requiredVersionRange = ccmod.dependencies![depId]
238236
expect(
239-
ccmod.dependencies !== null,
240-
'ccmod.dependencies (type: object) must be an object'
241-
).toBeTrue()
237+
semver.validRange(requiredVersionRange),
238+
`dependency ${depId} must be specify a valid range`
239+
).toBeTruthy()
240+
241+
if (skipTheseModDependencies.includes(depId.toLowerCase())) continue
242242

243-
for (const depId in ccmod.dependencies!) {
244-
const requiredVersionRange = ccmod.dependencies![depId]
243+
const dep = findDependency(depId)
244+
expect(dep, `dependency ${depId} must be registered in CCModDb`).toBeTruthy()
245+
246+
if (dep) {
247+
const depDatabaseVersion = dep.metadataCCMod!.version
245248
expect(
246-
semver.validRange(requiredVersionRange),
247-
`dependency ${depId} must be specify a valid range`
248-
).toBeTruthy()
249-
250-
if (skipTheseModDependencies.includes(depId.toLowerCase())) continue
251-
252-
const dep = findDependency(depId)
253-
expect(dep, `dependency ${depId} must be registered in CCModDb`).toBeTruthy()
254-
255-
if (dep) {
256-
const depDatabaseVersion = dep.metadataCCMod!.version
257-
expect(
258-
semver.satisfies(depDatabaseVersion, requiredVersionRange, {
259-
includePrerelease: true,
260-
}),
261-
`the version of the dependency ${depId} (database version: ${depDatabaseVersion}) does not satisfy the required range: ${requiredVersionRange}`
262-
).toBeTrue()
263-
}
249+
semver.satisfies(depDatabaseVersion, requiredVersionRange, {
250+
includePrerelease: true,
251+
}),
252+
`the version of the dependency ${depId} (database version: ${depDatabaseVersion}) does not satisfy the required range: ${requiredVersionRange}`
253+
).toBeTrue()
264254
}
265-
} else {
266-
expect(
267-
ccmod.dependencies === undefined,
268-
'ccmod.dependencies must not be used'
269-
).toBeTrue()
270255
}
271256
})
272257
}

0 commit comments

Comments
 (0)