@@ -14,12 +14,16 @@ import { MiddlewareStore } from '../src/MiddlewareStore'
1414test . group ( 'Middleware' , ( ) => {
1515 test ( 'register global middleware' , ( assert ) => {
1616 const middleware = new MiddlewareStore ( new Ioc ( ) )
17- async function handler ( ) { }
17+ class GlobalMiddleware {
18+ public async handle ( ) { }
19+ }
20+
21+ const handler = ( ) => Promise . resolve ( { default : GlobalMiddleware } )
1822
1923 middleware . register ( [ handler ] )
2024 assert . deepEqual ( middleware . get ( ) , [
2125 {
22- type : 'function ' ,
26+ type : 'lazy-import ' ,
2327 value : handler ,
2428 args : [ ] ,
2529 } ,
@@ -28,21 +32,29 @@ test.group('Middleware', () => {
2832
2933 test ( 'register named middleware' , ( assert ) => {
3034 const middleware = new MiddlewareStore ( new Ioc ( ) )
31- async function handler ( ) { }
35+ class GlobalMiddleware {
36+ public async handle ( ) { }
37+ }
38+
39+ const handler = ( ) => Promise . resolve ( { default : GlobalMiddleware } )
3240
3341 middleware . registerNamed ( { auth : handler } )
3442 assert . deepEqual ( middleware [ 'named' ] , {
35- auth : { type : 'function ' , value : handler , args : [ ] } ,
43+ auth : { type : 'lazy-import ' , value : handler , args : [ ] } ,
3644 } )
3745 } )
3846
3947 test ( 'get named middleware' , ( assert ) => {
4048 const middleware = new MiddlewareStore ( new Ioc ( ) )
41- async function handler ( ) { }
49+ class GlobalMiddleware {
50+ public async handle ( ) { }
51+ }
52+
53+ const handler = ( ) => Promise . resolve ( { default : GlobalMiddleware } )
4254
4355 middleware . registerNamed ( { auth : handler } )
4456 assert . deepEqual ( middleware . getNamed ( 'auth' ) , {
45- type : 'function ' ,
57+ type : 'lazy-import ' ,
4658 value : handler ,
4759 args : [ ] ,
4860 } )
@@ -55,12 +67,17 @@ test.group('Middleware', () => {
5567
5668 test ( 'invoke resolved middleware' , async ( assert ) => {
5769 const stack : any [ ] = [ ]
58- async function middlewareFn ( ) {
59- stack . push ( 'middlewareFn' )
70+
71+ class GlobalMiddleware {
72+ public async handle ( ) {
73+ stack . push ( 'middlewareFn' )
74+ }
6075 }
6176
77+ const handler = ( ) => Promise . resolve ( { default : GlobalMiddleware } )
78+
6279 const middleware = new MiddlewareStore ( new Ioc ( ) )
63- middleware . register ( [ middlewareFn ] )
80+ middleware . register ( [ handler ] )
6481 await middleware . invokeMiddleware ( middleware . get ( ) [ 0 ] , [ ] as any )
6582 assert . deepEqual ( stack , [ 'middlewareFn' ] )
6683 } )
0 commit comments