@@ -11,11 +11,13 @@ jest.dontMock('../ParseHooks');
1111jest . dontMock ( '../CoreManager' ) ;
1212jest . dontMock ( '../decode' ) ;
1313jest . dontMock ( '../encode' ) ;
14+ jest . dontMock ( '../ParseError' ) ;
1415
1516const Hooks = require ( '../ParseHooks' ) ;
1617const CoreManager = require ( '../CoreManager' ) ;
1718
1819const defaultController = CoreManager . getHooksController ( ) ;
20+ const { sendRequest } = defaultController ;
1921
2022describe ( 'Hooks' , ( ) => {
2123 beforeEach ( ( ) => {
@@ -200,5 +202,27 @@ describe('Hooks', () => {
200202 done ( ) ;
201203 } )
202204
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+ } ) ;
203214
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+ } ) ;
204228} ) ;
0 commit comments