@@ -3,17 +3,111 @@ import { Test } from "@nestjs/testing";
33import { AxiosModule , AxiosService } from "../src" ;
44
55describe ( AxiosModule , ( ) => {
6- let axiosService : AxiosService ;
7-
8- beforeEach ( async ( ) => {
6+ it ( "axios module export service" , async ( ) => {
97 const moduleRef = await Test . createTestingModule ( {
108 imports : [ AxiosModule . register ( { } ) ] ,
119 } ) . compile ( ) ;
1210
13- axiosService = moduleRef . get < AxiosService > ( AxiosService ) ;
11+ const axiosService = moduleRef . get < AxiosService > ( AxiosService ) ;
12+
13+ expect ( axiosService ) . toBeDefined ( ) ;
1414 } ) ;
1515
16- it ( "axios module export service" , ( ) => {
16+ it ( "should allow registering asynchronously" , async ( ) => {
17+ const moduleRef = await Test . createTestingModule ( {
18+ imports : [
19+ AxiosModule . registerAsync ( {
20+ useFactory : ( ) => {
21+ return {
22+ config : { } ,
23+ } ;
24+ } ,
25+ } ) ,
26+ ] ,
27+ } ) . compile ( ) ;
28+
29+ const axiosService = moduleRef . get < AxiosService > ( AxiosService ) ;
30+
1731 expect ( axiosService ) . toBeDefined ( ) ;
1832 } ) ;
33+
34+ it ( "should register interceptors" , async ( ) => {
35+ const responseOnFulfilled = jest . fn ( ) ;
36+ const requestOnFulfilled = jest . fn ( ) ;
37+
38+ const moduleRef = await Test . createTestingModule ( {
39+ imports : [
40+ AxiosModule . register ( {
41+ interceptors : {
42+ response : {
43+ onFulfilled : ( response ) => {
44+ responseOnFulfilled ( "response" ) ;
45+
46+ return response ;
47+ } ,
48+ } ,
49+
50+ request : {
51+ onFulfilled : ( requestConfig ) => {
52+ requestOnFulfilled ( "request" ) ;
53+
54+ return requestConfig ;
55+ } ,
56+ } ,
57+ } ,
58+ } ) ,
59+ ] ,
60+ } ) . compile ( ) ;
61+
62+ const axiosService = moduleRef . get < AxiosService > ( AxiosService ) ;
63+
64+ await axiosService . get ( "https://github.com" ) ;
65+
66+ expect ( responseOnFulfilled ) . toHaveBeenCalledTimes ( 1 ) ;
67+ expect ( responseOnFulfilled ) . toHaveBeenCalledWith ( "response" ) ;
68+
69+ expect ( requestOnFulfilled ) . toHaveBeenCalledTimes ( 1 ) ;
70+ expect ( requestOnFulfilled ) . toHaveBeenCalledWith ( "request" ) ;
71+ } ) ;
72+
73+ it ( "should async register interceptors" , async ( ) => {
74+ const responseOnFulfilled = jest . fn ( ) ;
75+ const requestOnFulfilled = jest . fn ( ) ;
76+
77+ const moduleRef = await Test . createTestingModule ( {
78+ imports : [
79+ AxiosModule . registerAsync ( {
80+ useFactory : ( ) => ( {
81+ interceptors : {
82+ response : {
83+ onFulfilled : ( response ) => {
84+ responseOnFulfilled ( "response" ) ;
85+
86+ return response ;
87+ } ,
88+ } ,
89+
90+ request : {
91+ onFulfilled : ( requestConfig ) => {
92+ requestOnFulfilled ( "request" ) ;
93+
94+ return requestConfig ;
95+ } ,
96+ } ,
97+ } ,
98+ } ) ,
99+ } ) ,
100+ ] ,
101+ } ) . compile ( ) ;
102+
103+ const axiosService = moduleRef . get < AxiosService > ( AxiosService ) ;
104+
105+ await axiosService . get ( "https://github.com" ) ;
106+
107+ expect ( responseOnFulfilled ) . toHaveBeenCalledTimes ( 1 ) ;
108+ expect ( responseOnFulfilled ) . toHaveBeenCalledWith ( "response" ) ;
109+
110+ expect ( requestOnFulfilled ) . toHaveBeenCalledTimes ( 1 ) ;
111+ expect ( requestOnFulfilled ) . toHaveBeenCalledWith ( "request" ) ;
112+ } ) ;
19113} ) ;
0 commit comments