File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed
Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ import assert from 'node:assert/strict' ;
2+ import { describe , it } from 'node:test' ;
3+
4+ import semver from 'semver' ;
5+
6+ import { allGenerators } from '../index.mjs' ;
7+
8+ const validDependencies = [ ...Object . keys ( allGenerators ) , 'ast' ] ;
9+ const generatorEntries = Object . entries ( allGenerators ) ;
10+
11+ describe ( 'All Generators' , ( ) => {
12+ it ( 'should have keys matching their name property' , ( ) => {
13+ generatorEntries . forEach ( ( [ key , generator ] ) => {
14+ assert . equal (
15+ key ,
16+ generator . name ,
17+ `Generator key "${ key } " does not match its name property "${ generator . name } "`
18+ ) ;
19+ } ) ;
20+ } ) ;
21+
22+ it ( 'should have valid semver versions' , ( ) => {
23+ generatorEntries . forEach ( ( [ key , generator ] ) => {
24+ const isValid = semver . valid ( generator . version ) ;
25+ assert . ok (
26+ isValid ,
27+ `Generator "${ key } " has invalid semver version: "${ generator . version } "`
28+ ) ;
29+ } ) ;
30+ } ) ;
31+
32+ it ( 'should have valid dependsOn references' , ( ) => {
33+ generatorEntries . forEach ( ( [ key , generator ] ) => {
34+ if ( generator . dependsOn ) {
35+ assert . ok (
36+ validDependencies . includes ( generator . dependsOn ) ,
37+ `Generator "${ key } " depends on "${ generator . dependsOn } " which is not a valid generator or 'ast'`
38+ ) ;
39+ }
40+ } ) ;
41+ } ) ;
42+ } ) ;
You can’t perform that action at this time.
0 commit comments