From 2d7b9455e1067994d2f071ca790a731df16db9c3 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Thu, 11 May 2017 13:09:13 +0100 Subject: [PATCH] Fixed promise action binding and simplified callbacks spy --- spec/javascripts/lib/utils/poll_spec.js | 27 ++++++++++--------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/spec/javascripts/lib/utils/poll_spec.js b/spec/javascripts/lib/utils/poll_spec.js index b9e1cc005fb..65e89fb10b4 100644 --- a/spec/javascripts/lib/utils/poll_spec.js +++ b/spec/javascripts/lib/utils/poll_spec.js @@ -14,32 +14,27 @@ const waitForAllCallsToFinish = (service, waitForCount, successCallback) => { timer(); }; -function mockServiceCall(service, response, shouldFail) { +function mockServiceCall(service, response, shouldFail = false) { const action = shouldFail ? Promise.reject : Promise.resolve; const responseObject = response; if (!responseObject.headers) responseObject.headers = {}; - service.fetch.calls.reset(); - service.fetch.and.callFake(() => action(responseObject)); + service.fetch.and.callFake(action.bind(Promise, responseObject)); } -fdescribe('Poll', () => { +describe('Poll', () => { const service = jasmine.createSpyObj('service', ['fetch']); - let callbacks; + const callbacks = jasmine.createSpyObj('callbacks', ['success', 'error']); - beforeEach(() => { - callbacks = { - success: () => {}, - error: () => {}, - }; - - spyOn(callbacks, 'success'); - spyOn(callbacks, 'error'); + afterEach(() => { + callbacks.success.calls.reset(); + callbacks.error.calls.reset(); + service.fetch.calls.reset(); }); - fit('calls the success callback when no header for interval is provided', (done) => { - mockServiceCall(service, { status: 200 }); + it('calls the success callback when no header for interval is provided', (done) => { + mockServiceCall(service, { status: 200 }, false); new Poll({ resource: service, @@ -53,7 +48,7 @@ fdescribe('Poll', () => { expect(callbacks.error).not.toHaveBeenCalled(); done(); - }, 0); + }); }); it('calls the error callback whe the http request returns an error', (done) => {