@@ -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+
10393export 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