@@ -24,6 +24,7 @@ test.group('Make provider', () => {
24
24
ace . ui . switchMode ( 'raw' )
25
25
26
26
const command = await ace . create ( MakeProvider , [ 'app' ] )
27
+ command . prompt . trap ( 'Do you want to register the provider in .adonisrc.ts file?' ) . accept ( )
27
28
await command . exec ( )
28
29
29
30
const { contents } = await new StubsFactory ( ) . prepare ( 'make/provider/main.stub' , {
@@ -43,7 +44,69 @@ test.group('Make provider', () => {
43
44
} ,
44
45
] )
45
46
46
- await assert . fileContains ( 'adonisrc.ts' , `() => import('./providers/app_provider.js')` )
47
+ await assert . fileContains ( 'adonisrc.ts' , `() => import('#providers/app_provider')` )
48
+ } )
49
+
50
+ test ( 'do not display prompt when --register flag is used' , async ( { assert, fs } ) => {
51
+ await fs . createJson ( 'tsconfig.json' , { } )
52
+ await fs . create ( 'adonisrc.ts' , `export default defineConfig({})` )
53
+
54
+ const ace = await new AceFactory ( ) . make ( fs . baseUrl , {
55
+ importer : ( filePath ) => import ( filePath ) ,
56
+ } )
57
+ await ace . app . init ( )
58
+ ace . ui . switchMode ( 'raw' )
59
+
60
+ const command = await ace . create ( MakeProvider , [ 'app' , '--register' ] )
61
+ await command . exec ( )
62
+
63
+ const { contents } = await new StubsFactory ( ) . prepare ( 'make/provider/main.stub' , {
64
+ entity : ace . app . generators . createEntity ( 'app' ) ,
65
+ } )
66
+
67
+ await assert . fileEquals ( 'providers/app_provider.ts' , contents )
68
+
69
+ assert . deepEqual ( ace . ui . logger . getLogs ( ) , [
70
+ {
71
+ message : 'green(DONE:) create providers/app_provider.ts' ,
72
+ stream : 'stdout' ,
73
+ } ,
74
+ {
75
+ message : 'green(DONE:) update adonisrc.ts file' ,
76
+ stream : 'stdout' ,
77
+ } ,
78
+ ] )
79
+
80
+ await assert . fileContains ( 'adonisrc.ts' , `() => import('#providers/app_provider')` )
81
+ } )
82
+
83
+ test ( 'do not register provider when --no-register flag is used' , async ( { assert, fs } ) => {
84
+ await fs . createJson ( 'tsconfig.json' , { } )
85
+ await fs . create ( 'adonisrc.ts' , `export default defineConfig({})` )
86
+
87
+ const ace = await new AceFactory ( ) . make ( fs . baseUrl , {
88
+ importer : ( filePath ) => import ( filePath ) ,
89
+ } )
90
+ await ace . app . init ( )
91
+ ace . ui . switchMode ( 'raw' )
92
+
93
+ const command = await ace . create ( MakeProvider , [ 'app' , '--no-register' ] )
94
+ await command . exec ( )
95
+
96
+ const { contents } = await new StubsFactory ( ) . prepare ( 'make/provider/main.stub' , {
97
+ entity : ace . app . generators . createEntity ( 'app' ) ,
98
+ } )
99
+
100
+ await assert . fileEquals ( 'providers/app_provider.ts' , contents )
101
+
102
+ assert . deepEqual ( ace . ui . logger . getLogs ( ) , [
103
+ {
104
+ message : 'green(DONE:) create providers/app_provider.ts' ,
105
+ stream : 'stdout' ,
106
+ } ,
107
+ ] )
108
+
109
+ await assert . fileEquals ( 'adonisrc.ts' , `export default defineConfig({})` )
47
110
} )
48
111
49
112
test ( 'create provider class for a specific environment' , async ( { assert, fs } ) => {
@@ -57,6 +120,7 @@ test.group('Make provider', () => {
57
120
ace . ui . switchMode ( 'raw' )
58
121
59
122
const command = await ace . create ( MakeProvider , [ 'app' , '-e=web' , '-e=repl' ] )
123
+ command . prompt . trap ( 'Do you want to register the provider in .adonisrc.ts file?' ) . accept ( )
60
124
await command . exec ( )
61
125
62
126
const { contents } = await new StubsFactory ( ) . prepare ( 'make/provider/main.stub' , {
@@ -76,7 +140,7 @@ test.group('Make provider', () => {
76
140
77
141
await assert . fileEquals ( 'providers/app_provider.ts' , contents )
78
142
await assert . fileContains ( 'adonisrc.ts' , [
79
- `() => import('./ providers/app_provider.js ')` ,
143
+ `() => import('# providers/app_provider')` ,
80
144
`environment: ['web', 'repl']` ,
81
145
] )
82
146
} )
@@ -92,6 +156,7 @@ test.group('Make provider', () => {
92
156
ace . ui . switchMode ( 'raw' )
93
157
94
158
const command = await ace . create ( MakeProvider , [ 'app' , '--environments=foo' ] )
159
+ command . prompt . trap ( 'Do you want to register the provider in .adonisrc.ts file?' ) . accept ( )
95
160
await command . exec ( )
96
161
97
162
assert . deepEqual ( ace . ui . logger . getLogs ( ) , [
0 commit comments