1
1
import BsLoadingOverlayHttpInterceptor from './BsLoadingOverlayHttpInterceptorInterceptor' ;
2
2
import { BsLoadingOverlayService } from 'angular-loading-overlay/source/BsLoadingOverlayService' ;
3
- import IBsLoadingOverlayOptions from 'angular-loading-overlay/source/IBsLoadingOverlayOptions ' ;
3
+ import IBsLoadingOverlayHttpInterceptorOptions from './IBsLoadingOverlayHttpInterceptorOptions ' ;
4
4
5
5
describe ( 'Interceptor' , ( ) => {
6
6
let interceptor : BsLoadingOverlayHttpInterceptor ;
7
7
let service : any ;
8
- let options : IBsLoadingOverlayOptions ;
8
+ let options : IBsLoadingOverlayHttpInterceptorOptions ;
9
9
let requestConfig : ng . IRequestConfig ;
10
10
let responsePromise : ng . IHttpPromiseCallbackArg < any > ;
11
11
@@ -24,74 +24,109 @@ describe('Interceptor', () => {
24
24
data : 'test data'
25
25
} ;
26
26
27
+ options = {
28
+ referenceId : 'some reference id'
29
+ } ;
30
+
27
31
interceptor = new BsLoadingOverlayHttpInterceptor ( options , service ) ;
28
32
} ) ;
29
33
30
- it ( 'should return provided options on request' , ( ) => {
31
- let returnedRequest = interceptor . request ( requestConfig ) ;
32
- expect ( returnedRequest ) . toEqual ( requestConfig ) ;
33
- } ) ;
34
+ describe ( 'request' , ( ) => {
35
+ it ( 'should return provided request config' , ( ) => {
36
+ let returnedRequestConfig = interceptor . request ( requestConfig ) ;
37
+ expect ( returnedRequestConfig ) . toEqual ( requestConfig ) ;
38
+ } ) ;
34
39
35
- it ( 'should call service start with provided options on request ' , ( ) => {
36
- interceptor . request ( requestConfig ) ;
40
+ it ( 'should call service start with provided options' , ( ) => {
41
+ interceptor . request ( requestConfig ) ;
37
42
38
- expect ( service . start . calledWith ( options ) ) . toBeTruthy ( ) ;
39
- } ) ;
43
+ expect ( service . start . calledWith ( options ) ) . toBeTruthy ( ) ;
44
+ } ) ;
40
45
41
- it ( 'should call service start once on request ' , ( ) => {
42
- interceptor . request ( requestConfig ) ;
46
+ it ( 'should call service start once' , ( ) => {
47
+ interceptor . request ( requestConfig ) ;
43
48
44
- expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
45
- } ) ;
49
+ expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
50
+ } ) ;
46
51
47
- it ( 'should call service start once on request called twice' , ( ) => {
48
- interceptor . request ( requestConfig ) ;
49
- interceptor . request ( requestConfig ) ;
52
+ it ( 'should call service start once on called twice' , ( ) => {
53
+ interceptor . request ( requestConfig ) ;
54
+ interceptor . request ( requestConfig ) ;
50
55
51
- expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
52
- } ) ;
56
+ expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
57
+ } ) ;
53
58
54
- it ( 'should call service start once on request called twice' , ( ) => {
55
- interceptor . request ( requestConfig ) ;
56
- interceptor . request ( requestConfig ) ;
59
+ it ( 'should call service start once on called twice' , ( ) => {
60
+ interceptor . request ( requestConfig ) ;
61
+ interceptor . request ( requestConfig ) ;
57
62
58
- expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
59
- } ) ;
63
+ expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
64
+ } ) ;
60
65
61
- it ( 'should call service start once on request called after response' , ( ) => {
62
- interceptor . response ( responsePromise ) ;
63
- interceptor . request ( requestConfig ) ;
66
+ it ( 'should call service start once on called after response' , ( ) => {
67
+ interceptor . response ( responsePromise ) ;
68
+ interceptor . request ( requestConfig ) ;
64
69
65
- expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
66
- } ) ;
70
+ expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
71
+ } ) ;
67
72
68
- it ( 'should return provided rejection on request error' , ( ) => {
69
- const rejection = { rejectionField : 123 } ;
70
- let returnedRejection = interceptor . requestError ( rejection ) ;
71
- expect ( returnedRejection ) . toEqual ( rejection ) ;
73
+ describe ( 'with matcher provided' , ( ) => {
74
+ beforeEach ( ( ) => {
75
+ options = {
76
+ requestsMatcher : ( requestConfig ) => requestConfig . url === 'some url'
77
+ } ;
78
+ interceptor = new BsLoadingOverlayHttpInterceptor ( options , service ) ;
79
+ } ) ;
80
+
81
+ it ( 'should call service start once if requestMatcher returns true matching requestConfig' , ( ) => {
82
+ interceptor . request ( {
83
+ url : 'some url' ,
84
+ method : 'GET'
85
+ } ) ;
86
+
87
+ expect ( service . start . calledOnce ) . toBeTruthy ( ) ;
88
+ } ) ;
89
+
90
+ it ( 'should not call service start if requestMatcher returns false matching requestConfig' , ( ) => {
91
+ interceptor . request ( {
92
+ url : 'another url, no match here' ,
93
+ method : 'GET'
94
+ } ) ;
95
+
96
+ expect ( service . start . called ) . toBeFalsy ( ) ;
97
+ } ) ;
98
+ } ) ;
72
99
} ) ;
73
100
74
- it ( 'should call service stop once on request error after request' , ( ) => {
75
- interceptor . request ( requestConfig ) ;
76
- interceptor . requestError ( requestConfig ) ;
101
+ describe ( 'requestError' , ( ) => {
102
+ it ( 'should return provided rejection' , ( ) => {
103
+ const rejection = { rejectionField : 123 } ;
104
+ let returnedRejection = interceptor . requestError ( rejection ) ;
105
+ expect ( returnedRejection ) . toEqual ( rejection ) ;
106
+ } ) ;
77
107
78
- expect ( service . stop . calledOnce ) . toBeTruthy ( ) ;
79
- } ) ;
108
+ it ( 'should call service stop once on called after request' , ( ) => {
109
+ interceptor . request ( requestConfig ) ;
110
+ interceptor . requestError ( requestConfig ) ;
111
+
112
+ expect ( service . stop . calledOnce ) . toBeTruthy ( ) ;
113
+ } ) ;
80
114
81
- it ( 'should call service stop with provided options on request error after request' , ( ) => {
82
- interceptor . request ( requestConfig ) ;
83
- interceptor . requestError ( requestConfig ) ;
115
+ it ( 'should call service stop with provided options on called after request' , ( ) => {
116
+ interceptor . request ( requestConfig ) ;
117
+ interceptor . requestError ( requestConfig ) ;
84
118
85
- expect ( service . stop . calledWith ( options ) ) . toBeTruthy ( ) ;
86
- } ) ;
119
+ expect ( service . stop . calledWith ( options ) ) . toBeTruthy ( ) ;
120
+ } ) ;
87
121
88
- it ( 'should call service stop once on request error called twice after request called twice' , ( ) => {
89
- interceptor . request ( requestConfig ) ;
90
- interceptor . request ( requestConfig ) ;
91
- interceptor . requestError ( requestConfig ) ;
92
- interceptor . requestError ( requestConfig ) ;
122
+ it ( 'should call service stop once on called twice after request called twice' , ( ) => {
123
+ interceptor . request ( requestConfig ) ;
124
+ interceptor . request ( requestConfig ) ;
125
+ interceptor . requestError ( requestConfig ) ;
126
+ interceptor . requestError ( requestConfig ) ;
93
127
94
- expect ( service . stop . calledOnce ) . toBeTruthy ( ) ;
128
+ expect ( service . stop . calledOnce ) . toBeTruthy ( ) ;
129
+ } ) ;
95
130
} ) ;
96
131
97
132
describe ( 'response' , ( ) => {
0 commit comments