Skip to content

Commit e9f7bd5

Browse files
authored
refactor: resolve middleware namespace before creating middleware file
1 parent 64e2d1d commit e9f7bd5

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

commands/Make/Middleware.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export default class MakeMiddleware extends BaseGenerator {
5151
* We can look into configuring it later.
5252
*/
5353
protected getDestinationPath(): string {
54-
return 'app/Middleware'
54+
return this.getPathForNamespace('middleware') || 'app/Middleware'
5555
}
5656

5757
public async run() {

test/make-middleware.spec.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,32 @@ test.group('Make Middleware', (group) => {
5050
toNewlineArray(MiddlewareTemplate.replace('{{ filename }}', 'SpoofAccept'))
5151
)
5252
})
53+
54+
test('make a middleware inside a custom directory', async ({ assert }) => {
55+
await fs.add(
56+
'.adonisrc.json',
57+
JSON.stringify({
58+
namespaces: {
59+
middleware: 'App/Module/Testing/Middleware',
60+
},
61+
autoloads: {
62+
App: './app',
63+
},
64+
})
65+
)
66+
67+
const rcContents = readJSONSync(join(fs.basePath, '.adonisrc.json'))
68+
const app = new Application(fs.basePath, 'test', rcContents)
69+
70+
const middleware = new MakeMiddleware(app, new Kernel(app).mockConsoleOutput())
71+
middleware.name = 'spoof_accept'
72+
await middleware.run()
73+
74+
const SpoofMiddleware = await fs.get('app/Module/Testing/Middleware/SpoofAccept.ts')
75+
const MiddlewareTemplate = await templates.get('middleware.txt')
76+
assert.deepEqual(
77+
toNewlineArray(SpoofMiddleware),
78+
toNewlineArray(MiddlewareTemplate.replace('{{ filename }}', 'SpoofAccept'))
79+
)
80+
})
5381
})

0 commit comments

Comments
 (0)