@@ -5,22 +5,25 @@ import { JsonController } from '../../src/decorator/JsonController';
55import { Post } from '../../src/decorator/Post' ;
66import { Body } from '../../src/decorator/Body' ;
77import { createExpressServer , createKoaServer , getMetadataArgsStorage } from '../../src/index' ;
8- import { assertRequest } from './test-utils' ;
9- const expect = require ( 'chakram' ) . expect ;
8+ import { axios } from '../utilities/axios' ;
9+ import { AxiosError , AxiosResponse } from 'axios' ;
10+
1011
1112describe ( 'action options' , ( ) => {
1213 let initializedUser : any ;
14+ let expressApp : any ;
1315 let User : any ;
1416
15- after ( ( ) => {
17+ afterAll ( ( done ) => {
1618 defaultMetadataStorage . clear ( ) ;
19+ expressApp . close ( done )
1720 } ) ;
1821
1922 beforeEach ( ( ) => {
2023 initializedUser = undefined ;
2124 } ) ;
2225
23- before ( ( ) => {
26+ beforeAll ( ( done ) => {
2427 // reset metadata args storage
2528 getMetadataArgsStorage ( ) . reset ( ) ;
2629
@@ -58,50 +61,37 @@ describe('action options', () => {
5861 return handler ( user ) ;
5962 }
6063 }
61- } ) ;
6264
63- let expressApp : any , koaApp : any ;
64- before ( done => ( expressApp = createExpressServer ( ) . listen ( 3001 , done ) ) ) ;
65- after ( done => expressApp . close ( done ) ) ;
66- before ( done => ( koaApp = createKoaServer ( ) . listen ( 3002 , done ) ) ) ;
67- after ( done => koaApp . close ( done ) ) ;
65+ expressApp = createExpressServer ( ) . listen ( 3001 , done )
66+ } ) ;
6867
6968 it ( 'should use controller options when action transform options are not set' , ( ) => {
70- assertRequest ( [ 3001 , 3002 ] , 'post' , 'default' , { firstName : 'Umed' , lastName : 'Khudoiberdiev' } , response => {
71- expect ( initializedUser ) . to . be . instanceOf ( User ) ;
72- expect ( initializedUser . lastName ) . to . be . undefined ;
73- expect ( response ) . to . have . status ( 200 ) ;
74- expect ( response . body . lastName ) . to . equal ( 'default' ) ;
69+ expect . assertions ( 4 ) ;
70+ return axios . post ( '/default' , { firstName : 'Umed' , lastName : 'Khudoiberdiev' } ) . then ( ( response : AxiosResponse ) => {
71+ expect ( initializedUser ) . toBeInstanceOf ( User ) ;
72+ expect ( initializedUser . lastName ) . toBeUndefined ( ) ;
73+ expect ( response . status ) . toBe ( 200 ) ;
74+ expect ( response . data . lastName ) . toBe ( 'default' ) ;
7575 } ) ;
7676 } ) ;
7777
7878 it ( 'should override controller options with action transformRequest option' , ( ) => {
79- assertRequest (
80- [ 3001 , 3002 ] ,
81- 'post' ,
82- 'transformRequestOnly' ,
83- { firstName : 'Umed' , lastName : 'Khudoiberdiev' } ,
84- response => {
85- expect ( initializedUser ) . to . be . instanceOf ( User ) ;
86- expect ( initializedUser . lastName ) . to . be . undefined ;
87- expect ( response ) . to . have . status ( 200 ) ;
88- expect ( response . body . lastName ) . to . equal ( 'default' ) ;
89- }
90- ) ;
79+ expect . assertions ( 4 ) ;
80+ return axios . post ( '/transformRequestOnly' , { firstName : 'Umed' , lastName : 'Khudoiberdiev' } ) . then ( ( response : AxiosResponse ) => {
81+ expect ( initializedUser ) . toBeInstanceOf ( User ) ;
82+ expect ( initializedUser . lastName ) . toBeUndefined ( ) ;
83+ expect ( response . status ) . toBe ( 200 ) ;
84+ expect ( response . data . lastName ) . toBe ( 'default' ) ;
85+ } ) ;
9186 } ) ;
9287
9388 it ( 'should override controller options with action transformResponse option' , ( ) => {
94- assertRequest (
95- [ 3001 , 3002 ] ,
96- 'post' ,
97- 'transformResponseOnly' ,
98- { firstName : 'Umed' , lastName : 'Khudoiberdiev' } ,
99- response => {
100- expect ( initializedUser ) . not . to . be . instanceOf ( User ) ;
101- expect ( initializedUser . lastName ) . to . exist ;
102- expect ( response ) . to . have . status ( 200 ) ;
103- expect ( response . body . lastName ) . to . be . undefined ;
104- }
105- ) ;
89+ expect . assertions ( 4 ) ;
90+ return axios . post ( '/transformResponseOnly' , { firstName : 'Umed' , lastName : 'Khudoiberdiev' } ) . then ( ( response : AxiosResponse ) => {
91+ expect ( initializedUser ) . not . toBeInstanceOf ( User ) ;
92+ expect ( initializedUser . lastName ) . not . toBeUndefined ( ) ;
93+ expect ( response . status ) . toBe ( 200 ) ;
94+ expect ( response . data . lastName ) . toBeUndefined ( ) ;
95+ } ) ;
10696 } ) ;
10797} ) ;
0 commit comments