@@ -11,11 +11,13 @@ jest.dontMock('../ParseHooks');
11
11
jest . dontMock ( '../CoreManager' ) ;
12
12
jest . dontMock ( '../decode' ) ;
13
13
jest . dontMock ( '../encode' ) ;
14
+ jest . dontMock ( '../ParseError' ) ;
14
15
15
16
const Hooks = require ( '../ParseHooks' ) ;
16
17
const CoreManager = require ( '../CoreManager' ) ;
17
18
18
19
const defaultController = CoreManager . getHooksController ( ) ;
20
+ const { sendRequest } = defaultController ;
19
21
20
22
describe ( 'Hooks' , ( ) => {
21
23
beforeEach ( ( ) => {
@@ -200,5 +202,27 @@ describe('Hooks', () => {
200
202
done ( ) ;
201
203
} )
202
204
205
+ it ( 'should sendRequest' , async ( ) => {
206
+ defaultController . sendRequest = sendRequest ;
207
+ const request = function ( ) {
208
+ return Promise . resolve ( 12 ) ;
209
+ } ;
210
+ CoreManager . setRESTController ( { request, ajax : jest . fn ( ) } ) ;
211
+ const decoded = await defaultController . sendRequest ( 'POST' , 'hooks/triggers/myhook' ) ;
212
+ expect ( decoded ) . toBe ( 12 ) ;
213
+ } ) ;
203
214
215
+ it ( 'handle sendRequest error' , async ( ) => {
216
+ defaultController . sendRequest = sendRequest ;
217
+ const request = function ( ) {
218
+ return Promise . resolve ( undefined ) ;
219
+ } ;
220
+ CoreManager . setRESTController ( { request, ajax : jest . fn ( ) } ) ;
221
+ try {
222
+ await defaultController . sendRequest ( 'POST' , 'hooks/triggers/myhook' ) ;
223
+ expect ( false ) . toBe ( true ) ;
224
+ } catch ( e ) {
225
+ expect ( e . message ) . toBe ( 'The server returned an invalid response.' ) ;
226
+ }
227
+ } ) ;
204
228
} ) ;
0 commit comments