UNPKG

jasmine-test-helpers

Version:

Public and free software for helping test NodeJS projects using Jasmine or Jasmine-Node.

64 lines (52 loc) 2.01 kB
"use strict"; describe("middleware-to-promise.helper", () => { var factory, mockCall; beforeEach(() => { var secondMock; mockCall = jasmine.createSpyObj("mock", [ "call", "otherCall" ]); mockCall.call.and.callFake(() => {}); mockCall.otherCall.and.callFake(() => {}); factory = (secondResult) => { secondMock = jasmine.createSpyObj("secondMock", [ "call" ]); secondMock.call.and.callFake(() => { if (secondResult === "pass") { return Promise.resolve(); } return Promise.reject(); }); return require("../mock/middleware-mock")(mockCall, secondMock); }; }); it("expects jasmine.middlewareToPromise to exist", () => { expect(jasmine.middlewareToPromise).toBeDefined(); }); describe("sets up mock middleware", () => { it("should pass and run call", () => { var middlewareAsync; middlewareAsync = jasmine.middlewareToPromise(factory("pass")()); return middlewareAsync().then(() => { expect(mockCall.call).toHaveBeenCalled(); }); }); it("should fail and run otherCall", () => { var middlewareAsync; middlewareAsync = jasmine.middlewareToPromise(factory("fail")()); return middlewareAsync().then(jasmine.fail, () => { expect(mockCall.otherCall).toHaveBeenCalled(); }); }); it("should fail completely and not run any calls", () => { var middlewareAsync; middlewareAsync = jasmine.middlewareToPromise("failToMakePromise"); return middlewareAsync().then(jasmine.fail, () => { expect(mockCall.otherCall).not.toHaveBeenCalled(); expect(mockCall.call).not.toHaveBeenCalled(); }); }); }); });