Fixed promise action binding and simplified callbacks spy

This commit is contained in:
Luke "Jared" Bennett 2017-05-11 13:09:13 +01:00
parent dbab076b05
commit 2d7b9455e1
No known key found for this signature in database
GPG Key ID: 402ED51FB5D306C2
1 changed files with 11 additions and 16 deletions

View File

@ -14,32 +14,27 @@ const waitForAllCallsToFinish = (service, waitForCount, successCallback) => {
timer(); timer();
}; };
function mockServiceCall(service, response, shouldFail) { function mockServiceCall(service, response, shouldFail = false) {
const action = shouldFail ? Promise.reject : Promise.resolve; const action = shouldFail ? Promise.reject : Promise.resolve;
const responseObject = response; const responseObject = response;
if (!responseObject.headers) responseObject.headers = {}; if (!responseObject.headers) responseObject.headers = {};
service.fetch.calls.reset(); service.fetch.and.callFake(action.bind(Promise, responseObject));
service.fetch.and.callFake(() => action(responseObject));
} }
fdescribe('Poll', () => { describe('Poll', () => {
const service = jasmine.createSpyObj('service', ['fetch']); const service = jasmine.createSpyObj('service', ['fetch']);
let callbacks; const callbacks = jasmine.createSpyObj('callbacks', ['success', 'error']);
beforeEach(() => { afterEach(() => {
callbacks = { callbacks.success.calls.reset();
success: () => {}, callbacks.error.calls.reset();
error: () => {}, service.fetch.calls.reset();
};
spyOn(callbacks, 'success');
spyOn(callbacks, 'error');
}); });
fit('calls the success callback when no header for interval is provided', (done) => { it('calls the success callback when no header for interval is provided', (done) => {
mockServiceCall(service, { status: 200 }); mockServiceCall(service, { status: 200 }, false);
new Poll({ new Poll({
resource: service, resource: service,
@ -53,7 +48,7 @@ fdescribe('Poll', () => {
expect(callbacks.error).not.toHaveBeenCalled(); expect(callbacks.error).not.toHaveBeenCalled();
done(); done();
}, 0); });
}); });
it('calls the error callback whe the http request returns an error', (done) => { it('calls the error callback whe the http request returns an error', (done) => {