@@ -7,7 +7,7 @@ import QuasarGenerator from "./QuasarGenerator.js";
7
7
8
8
const dirname = path . dirname ( fileURLToPath ( import . meta. url ) ) ;
9
9
10
- test ( "Generate a Quasar app" , ( ) => {
10
+ test ( "Generate a Quasar app" , async ( ) => {
11
11
const generator = new QuasarGenerator ( {
12
12
hydraPrefix : "hydra:" ,
13
13
templateDirectory : `${ dirname } /../../templates` ,
@@ -21,6 +21,7 @@ test("Generate a Quasar app", () => {
21
21
reference : null ,
22
22
required : true ,
23
23
description : "An URL" ,
24
+ type : "string" ,
24
25
} ) ,
25
26
] ;
26
27
const resource = new Resource ( "abc" , "http://example.com/foos" , {
@@ -37,60 +38,63 @@ test("Generate a Quasar app", () => {
37
38
title : "My API" ,
38
39
resources : [ resource ] ,
39
40
} ) ;
40
- generator
41
- . generate ( api , resource , tmpobj . name )
42
- . then ( ( ) => {
43
- expect ( fs . existsSync ( tmpobj . name + "/components/foo/Create.vue" ) ) . toBe (
44
- true
45
- ) ;
46
- expect ( fs . existsSync ( tmpobj . name + "/components/foo/Form.vue" ) ) . toBe (
47
- true
48
- ) ;
49
- expect ( fs . existsSync ( tmpobj . name + "/components/foo/List.vue" ) ) . toBe (
50
- true
51
- ) ;
52
- expect ( fs . existsSync ( tmpobj . name + "/components/foo/Show.vue" ) ) . toBe (
53
- true
54
- ) ;
55
- expect ( fs . existsSync ( tmpobj . name + "/components/foo/Update.vue" ) ) . toBe (
56
- true
57
- ) ;
58
41
59
- expect ( fs . existsSync ( tmpobj . name + "/config/entrypoint.js" ) ) . toBe ( true ) ;
42
+ await generator . generate ( api , resource , tmpobj . name , [ ] ) ;
60
43
61
- expect ( fs . existsSync ( tmpobj . name + "/error/SubmissionError.js" ) ) . toBe (
62
- true
63
- ) ;
44
+ // common components
45
+ [
46
+ "ActionCell" ,
47
+ "Breadcrumb" ,
48
+ "ConfirmDelete" ,
49
+ "DataFilter" ,
50
+ "FormRepeater" ,
51
+ "Loading" ,
52
+ "Toolbar" ,
53
+ ] . forEach ( ( name ) => {
54
+ expect (
55
+ fs . existsSync ( `${ tmpobj . name } /components/common/${ name } Component.vue` )
56
+ ) . toBe ( true ) ;
57
+ } ) ;
58
+
59
+ // components
60
+ [ "Create" , "Form" , "List" , "Show" , "Update" ] . forEach ( ( name ) => {
61
+ expect (
62
+ fs . existsSync ( `${ tmpobj . name } /components/foo/${ name } Component.vue` )
63
+ ) . toBe ( true ) ;
64
+ } ) ;
65
+
66
+ // i18n
67
+ expect ( fs . existsSync ( `${ tmpobj . name } /i18n/en-US/common.ts` ) ) . toBe ( true ) ;
68
+ expect ( fs . existsSync ( `${ tmpobj . name } /i18n/en-US/foo.ts` ) ) . toBe ( true ) ;
69
+
70
+ // pages
71
+ [ "Create" , "List" , "Show" , "Update" ] . forEach ( ( name ) => {
72
+ expect ( fs . existsSync ( `${ tmpobj . name } /pages/foo/${ name } Page.vue` ) ) . toBe (
73
+ true
74
+ ) ;
75
+ } ) ;
76
+
77
+ // router
78
+ expect ( fs . existsSync ( `${ tmpobj . name } /router/foo.ts` ) ) . toBe ( true ) ;
79
+
80
+ // stores
81
+ [ "create" , "delete" , "list" , "show" , "update" ] . forEach ( ( name ) => {
82
+ expect ( fs . existsSync ( `${ tmpobj . name } /stores/foo/${ name } .ts` ) ) . toBe ( true ) ;
83
+ } ) ;
84
+
85
+ // types
86
+ [ "breadcrumb" , "collection" , "error" , "foo" , "item" , "list" , "view" ] . forEach (
87
+ ( name ) => {
88
+ expect ( fs . existsSync ( `${ tmpobj . name } /types/${ name } .ts` ) ) . toBe ( true ) ;
89
+ }
90
+ ) ;
64
91
65
- expect ( fs . existsSync ( tmpobj . name + "/router/foo.js" ) ) . toBe ( true ) ;
92
+ // utils
93
+ expect ( fs . existsSync ( `${ tmpobj . name } /utils/date.ts` ) ) . toBe ( true ) ;
94
+ expect ( fs . existsSync ( `${ tmpobj . name } /utils/fetch.ts` ) ) . toBe ( true ) ;
66
95
67
- expect ( fs . existsSync ( tmpobj . name + "/store/modules/foo/index.js" ) ) . toBe (
68
- true
69
- ) ;
96
+ // config
97
+ expect ( fs . existsSync ( `${ tmpobj . name } /config/entrypoint.ts` ) ) . toBe ( true ) ;
70
98
71
- [ "create" , "delete" , "list" , "show" , "update" ] . forEach ( ( action ) => {
72
- expect (
73
- fs . existsSync ( `${ tmpobj . name } /store/modules/foo/${ action } /actions.js` )
74
- ) . toBe ( true ) ;
75
- expect (
76
- fs . existsSync ( `${ tmpobj . name } /store/modules/foo/${ action } /getters.js` )
77
- ) . toBe ( true ) ;
78
- expect (
79
- fs . existsSync ( `${ tmpobj . name } /store/modules/foo/${ action } /index.js` )
80
- ) . toBe ( true ) ;
81
- expect (
82
- fs . existsSync (
83
- `${ tmpobj . name } /store/modules/foo/${ action } /mutation_types.js`
84
- )
85
- ) . toBe ( true ) ;
86
- expect (
87
- fs . existsSync (
88
- `${ tmpobj . name } /store/modules/foo/${ action } /mutations.js`
89
- )
90
- ) . toBe ( true ) ;
91
- } ) ;
92
- expect ( fs . existsSync ( tmpobj . name + "/utils/fetch.js" ) ) . toBe ( true ) ;
93
- tmpobj . removeCallback ( ) ;
94
- } )
95
- . catch ( ( ) => { } ) ;
99
+ tmpobj . removeCallback ( ) ;
96
100
} ) ;
0 commit comments