diff options
Diffstat (limited to 'test/background/operators')
21 files changed, 239 insertions, 343 deletions
diff --git a/test/background/operators/impls/CancelOperator.test.ts b/test/background/operators/impls/CancelOperator.test.ts index 915becf..a723f6f 100644 --- a/test/background/operators/impls/CancelOperator.test.ts +++ b/test/background/operators/impls/CancelOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import CancelOperator from "../../../../src/background/operators/impls/CancelOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -10,15 +9,14 @@ describe("CancelOperator", () => { const currenTab = await tabPresenter.create("https://example.com/"); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("hide") - .withArgs(currenTab?.id); + const spy = jest + .spyOn(consoleClient, "hide") + .mockResolvedValueOnce(undefined); const sut = new CancelOperator(tabPresenter, consoleClient); await sut.run(); - mock.verify(); + expect(spy).toBeCalledWith(currenTab?.id); }); }); }); diff --git a/test/background/operators/impls/FindNextOperator.test.ts b/test/background/operators/impls/FindNextOperator.test.ts index 7509ef4..3bb47f0 100644 --- a/test/background/operators/impls/FindNextOperator.test.ts +++ b/test/background/operators/impls/FindNextOperator.test.ts @@ -1,4 +1,3 @@ -import * as sinon from "sinon"; import MockTabPresenter from "../../mock/MockTabPresenter"; import FindNextOperator from "../../../../src/background/operators/impls/FindNextOperator"; import MockFindRepository from "../../mock/MockFindRepository"; @@ -23,155 +22,114 @@ describe("FindNextOperator", () => { frameRepository ); + const findNextSpy = jest.spyOn(findClient, "findNext"); + const clearSelectionSpy = jest.spyOn(findClient, "clearSelection"); + let currentTabId: number; beforeEach(async () => { - sinon.restore(); - const currentTab = await tabPresenter.create("https://example.com/", { active: true, }); currentTabId = currentTab.id!; - sinon - .stub(frameRepository, "getFrameIds") - .returns(Promise.resolve(frameIds)); + findNextSpy.mockClear(); + clearSelectionSpy.mockClear().mockReturnValue(Promise.resolve()); + jest.spyOn(frameRepository, "getFrameIds").mockResolvedValue(frameIds); }); describe("#run", () => { it("shows errors if no previous keywords", async () => { - sinon - .stub(findRepository, "getLocalState") - .returns(Promise.resolve(undefined)); - - const mock = sinon.mock(consoleClient); - mock - .expects("showError") - .withArgs(currentTabId, "No previous search keywords"); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue(undefined); + const showErrorSpy = jest + .spyOn(consoleClient, "showError") + .mockReturnValue(Promise.resolve()); await sut.run(); - mock.verify(); + expect(showErrorSpy).toBeCalledWith( + currentTabId, + "No previous search keywords" + ); }); it("continues a search on the same frame", async () => { - sinon.stub(findRepository, "getLocalState").returns( - Promise.resolve({ - keyword, - frameId: 100, - }) - ); - - const mockFindClient = sinon.mock(findClient); - mockFindClient - .expects("findNext") - .withArgs(currentTabId, 100, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 100 }); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue({ + keyword, + frameId: 100, + }); + findNextSpy.mockResolvedValue(true); + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(findNextSpy).toBeCalledWith(currentTabId, 100, keyword); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 100, + }); }); it("continues a search on next frame", async () => { - sinon.stub(findRepository, "getLocalState").returns( - Promise.resolve({ - keyword, - frameId: 100, - }) - ); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue({ + keyword, + frameId: 100, + }); - const mockFindClient = sinon.mock(findClient); - mockFindClient - .expects("findNext") - .withArgs(currentTabId, 100, keyword) - .returns(Promise.resolve(false)); - mockFindClient - .expects("clearSelection") - .withArgs(currentTabId, 100) - .returns(Promise.resolve()); - mockFindClient - .expects("findNext") - .withArgs(currentTabId, 101, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 101 }); + findNextSpy.mockResolvedValueOnce(false).mockResolvedValueOnce(true); + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(findNextSpy).toBeCalledTimes(2); + expect(findNextSpy.mock.calls[0][1]).toEqual(100); + expect(findNextSpy.mock.calls[1][1]).toEqual(101); + expect(clearSelectionSpy).toBeCalledWith(currentTabId, 100); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 101, + }); }); it("exercise a wrap-search", async () => { - sinon.stub(findRepository, "getLocalState").returns( - Promise.resolve({ - keyword, - frameId: 101, - }) - ); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue({ + keyword, + frameId: 101, + }); - const mockFindClient = sinon.mock(findClient); - mockFindClient - .expects("findNext") - .withArgs(currentTabId, 101, keyword) - .returns(Promise.resolve(false)); - mockFindClient - .expects("clearSelection") - .withArgs(currentTabId, 101) - .returns(Promise.resolve()); - mockFindClient - .expects("findNext") - .withArgs(currentTabId, 0, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 0 }); + findNextSpy.mockResolvedValueOnce(false).mockResolvedValueOnce(true); + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(findNextSpy).toBeCalledTimes(2); + expect(findNextSpy.mock.calls[0][1]).toEqual(101); + expect(findNextSpy.mock.calls[1][1]).toEqual(0); + expect(clearSelectionSpy).toBeCalledWith(currentTabId, 101); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 0, + }); }); it("starts a search with last keywords", async () => { - sinon - .stub(findRepository, "getLocalState") - .returns(Promise.resolve(undefined)); - sinon - .stub(findRepository, "getGlobalKeyword") - .returns(Promise.resolve(keyword)); - sinon.stub(consoleClient, "showInfo").returns(Promise.resolve()); - - const mockFindClient = sinon.mock(findClient); - mockFindClient.expects("clearSelection").withArgs(currentTabId, 0); - mockFindClient.expects("clearSelection").withArgs(currentTabId, 100); - mockFindClient.expects("clearSelection").withArgs(currentTabId, 101); - mockFindClient - .expects("findNext") - .withArgs(currentTabId, 0, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 0 }); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue(undefined); + jest.spyOn(findRepository, "getGlobalKeyword").mockResolvedValue(keyword); + jest.spyOn(consoleClient, "showInfo").mockReturnValue(Promise.resolve()); + + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(clearSelectionSpy).toBeCalledTimes(3); + expect(clearSelectionSpy.mock.calls[0][1]).toEqual(0); + expect(clearSelectionSpy.mock.calls[1][1]).toEqual(100); + expect(clearSelectionSpy.mock.calls[2][1]).toEqual(101); + expect(findNextSpy).toBeCalledWith(currentTabId, 0, keyword); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 0, + }); }); }); }); diff --git a/test/background/operators/impls/FindPrevOperator.test.ts b/test/background/operators/impls/FindPrevOperator.test.ts index 090f815..b563076 100644 --- a/test/background/operators/impls/FindPrevOperator.test.ts +++ b/test/background/operators/impls/FindPrevOperator.test.ts @@ -1,4 +1,3 @@ -import * as sinon from "sinon"; import MockTabPresenter from "../../mock/MockTabPresenter"; import FindPrevOperator from "../../../../src/background/operators/impls/FindPrevOperator"; import MockFindRepository from "../../mock/MockFindRepository"; @@ -23,155 +22,113 @@ describe("FindPrevOperator", () => { frameRepository ); + const findPrevSpy = jest.spyOn(findClient, "findPrev"); + const clearSelectionSpy = jest.spyOn(findClient, "clearSelection"); + let currentTabId: number; beforeEach(async () => { - sinon.restore(); - const currentTab = await tabPresenter.create("https://example.com/", { active: true, }); currentTabId = currentTab.id!; - sinon - .stub(frameRepository, "getFrameIds") - .returns(Promise.resolve(frameIds.slice(0))); + findPrevSpy.mockClear(); + clearSelectionSpy.mockClear().mockReturnValue(Promise.resolve()); + jest.spyOn(frameRepository, "getFrameIds").mockResolvedValue(frameIds); }); describe("#run", () => { it("shows errors if no previous keywords", async () => { - sinon - .stub(findRepository, "getLocalState") - .returns(Promise.resolve(undefined)); - - const mock = sinon.mock(consoleClient); - mock - .expects("showError") - .withArgs(currentTabId, "No previous search keywords"); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue(undefined); + const showErrorSpy = jest + .spyOn(consoleClient, "showError") + .mockReturnValue(Promise.resolve()); await sut.run(); - mock.verify(); + expect(showErrorSpy).toBeCalledWith( + currentTabId, + "No previous search keywords" + ); }); it("continues a search on the same frame", async () => { - sinon.stub(findRepository, "getLocalState").returns( - Promise.resolve({ - keyword, - frameId: 100, - }) - ); - - const mockFindClient = sinon.mock(findClient); - mockFindClient - .expects("findPrev") - .withArgs(currentTabId, 100, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 100 }); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue({ + keyword, + frameId: 100, + }); + findPrevSpy.mockResolvedValue(true); + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(findPrevSpy).toBeCalledWith(currentTabId, 100, keyword); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 100, + }); }); it("continues a search on next frame", async () => { - sinon.stub(findRepository, "getLocalState").returns( - Promise.resolve({ - keyword, - frameId: 100, - }) - ); - - const mockFindClient = sinon.mock(findClient); - mockFindClient - .expects("findPrev") - .withArgs(currentTabId, 100, keyword) - .returns(Promise.resolve(false)); - mockFindClient - .expects("clearSelection") - .withArgs(currentTabId, 100) - .returns(Promise.resolve()); - mockFindClient - .expects("findPrev") - .withArgs(currentTabId, 0, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 0 }); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue({ + keyword, + frameId: 100, + }); + findPrevSpy.mockResolvedValueOnce(false).mockResolvedValueOnce(true); + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(findPrevSpy).toBeCalledTimes(2); + expect(findPrevSpy.mock.calls[0][1]).toEqual(100); + expect(findPrevSpy.mock.calls[1][1]).toEqual(0); + expect(clearSelectionSpy).toBeCalledWith(currentTabId, 100); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 0, + }); }); it("exercise a wrap-search", async () => { - sinon.stub(findRepository, "getLocalState").returns( - Promise.resolve({ - keyword, - frameId: 0, - }) - ); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue({ + keyword, + frameId: 0, + }); - const mockFindClient = sinon.mock(findClient); - mockFindClient - .expects("findPrev") - .withArgs(currentTabId, 0, keyword) - .returns(Promise.resolve(false)); - mockFindClient - .expects("clearSelection") - .withArgs(currentTabId, 0) - .returns(Promise.resolve()); - mockFindClient - .expects("findPrev") - .withArgs(currentTabId, 101, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 101 }); + findPrevSpy.mockResolvedValueOnce(false).mockResolvedValueOnce(true); + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(findPrevSpy).toBeCalledTimes(2); + expect(findPrevSpy.mock.calls[0][1]).toEqual(0); + expect(findPrevSpy.mock.calls[1][1]).toEqual(101); + expect(clearSelectionSpy).toBeCalledWith(currentTabId, 0); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 101, + }); }); it("starts a search with last keywords", async () => { - sinon - .stub(findRepository, "getLocalState") - .returns(Promise.resolve(undefined)); - sinon - .stub(findRepository, "getGlobalKeyword") - .returns(Promise.resolve(keyword)); - sinon.stub(consoleClient, "showInfo").returns(Promise.resolve()); - - const mockFindClient = sinon.mock(findClient); - mockFindClient.expects("clearSelection").withArgs(currentTabId, 0); - mockFindClient.expects("clearSelection").withArgs(currentTabId, 100); - mockFindClient.expects("clearSelection").withArgs(currentTabId, 101); - mockFindClient - .expects("findPrev") - .withArgs(currentTabId, 101, keyword) - .returns(Promise.resolve(true)); - - const mockFindRepository = sinon.mock(findRepository); - mockFindRepository - .expects("setLocalState") - .withArgs(currentTabId, { keyword, frameId: 101 }); + jest.spyOn(findRepository, "getLocalState").mockResolvedValue(undefined); + jest.spyOn(findRepository, "getGlobalKeyword").mockResolvedValue(keyword); + jest.spyOn(consoleClient, "showInfo").mockReturnValue(Promise.resolve()); + + const setLocalStateSpy = jest.spyOn(findRepository, "setLocalState"); await sut.run(); - mockFindRepository.verify(); - mockFindClient.verify(); + expect(clearSelectionSpy).toBeCalledTimes(3); + expect(clearSelectionSpy.mock.calls[0][1]).toEqual(101); + expect(clearSelectionSpy.mock.calls[1][1]).toEqual(100); + expect(clearSelectionSpy.mock.calls[2][1]).toEqual(0); + expect(findPrevSpy).toBeCalledWith(currentTabId, 101, keyword); + expect(setLocalStateSpy).toBeCalledWith(currentTabId, { + keyword, + frameId: 101, + }); }); }); }); diff --git a/test/background/operators/impls/NavigateHistoryNextOperator.test.ts b/test/background/operators/impls/NavigateHistoryNextOperator.test.ts index de8f597..8ea925b 100644 --- a/test/background/operators/impls/NavigateHistoryNextOperator.test.ts +++ b/test/background/operators/impls/NavigateHistoryNextOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import NavigateHistoryNextOperator from "../../../../src/background/operators/impls/NavigateHistoryNextOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockNavigateClient from "../../mock/MockNavigateClient"; @@ -7,10 +6,9 @@ describe("NavigateHistoryNextOperator", () => { describe("#run", () => { it("send a message to navigate next in the history", async () => { const navigateClient = new MockNavigateClient(); - const mock = sinon - .mock(navigateClient) - .expects("historyNext") - .withArgs(1); + const historyNextSpy = jest + .spyOn(navigateClient, "historyNext") + .mockReturnValue(Promise.resolve()); const tabPresenter = new MockTabPresenter(); await tabPresenter.create("https://example.com/1", { active: false }); await tabPresenter.create("https://example.com/2", { active: true }); @@ -19,7 +17,7 @@ describe("NavigateHistoryNextOperator", () => { await sut.run(); - mock.verify(); + expect(historyNextSpy).toBeCalledWith(1); }); }); }); diff --git a/test/background/operators/impls/NavigateHistoryPrevOperator.test.ts b/test/background/operators/impls/NavigateHistoryPrevOperator.test.ts index 6ebe71e..8221a5c 100644 --- a/test/background/operators/impls/NavigateHistoryPrevOperator.test.ts +++ b/test/background/operators/impls/NavigateHistoryPrevOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import NavigateHistoryPrevOperator from "../../../../src/background/operators/impls/NavigateHistoryPrevOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockNavigateClient from "../../mock/MockNavigateClient"; @@ -7,10 +6,9 @@ describe("NavigateHistoryPrevOperator", () => { describe("#run", () => { it("send a message to navigate previous in the history", async () => { const navigateClient = new MockNavigateClient(); - const mock = sinon - .mock(navigateClient) - .expects("historyPrev") - .withArgs(1); + const historyNextSpy = jest + .spyOn(navigateClient, "historyPrev") + .mockReturnValue(Promise.resolve()); const tabPresenter = new MockTabPresenter(); await tabPresenter.create("https://example.com/1", { active: false }); await tabPresenter.create("https://example.com/2", { active: true }); @@ -19,7 +17,7 @@ describe("NavigateHistoryPrevOperator", () => { await sut.run(); - mock.verify(); + expect(historyNextSpy).toBeCalledWith(1); }); }); }); diff --git a/test/background/operators/impls/NavigateLinkNextOperator.test.ts b/test/background/operators/impls/NavigateLinkNextOperator.test.ts index 09c4907..9f19307 100644 --- a/test/background/operators/impls/NavigateLinkNextOperator.test.ts +++ b/test/background/operators/impls/NavigateLinkNextOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import NavigateLinkNextOperator from "../../../../src/background/operators/impls/NavigateLinkNextOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockNavigateClient from "../../mock/MockNavigateClient"; @@ -7,7 +6,9 @@ describe("NavigateLinkNextOperator", () => { describe("#run", () => { it("send a message to navigate next page", async () => { const navigateClient = new MockNavigateClient(); - const mock = sinon.mock(navigateClient).expects("linkNext").withArgs(1); + const linkNextSpy = jest + .spyOn(navigateClient, "linkNext") + .mockReturnValueOnce(Promise.resolve()); const tabPresenter = new MockTabPresenter(); await tabPresenter.create("https://example.com/1", { active: false }); await tabPresenter.create("https://example.com/2", { active: true }); @@ -16,7 +17,7 @@ describe("NavigateLinkNextOperator", () => { await sut.run(); - mock.verify(); + expect(linkNextSpy).toBeCalledWith(1); }); }); }); diff --git a/test/background/operators/impls/NavigateLinkPrevOperator.test.ts b/test/background/operators/impls/NavigateLinkPrevOperator.test.ts index 6b7f791..37999bd 100644 --- a/test/background/operators/impls/NavigateLinkPrevOperator.test.ts +++ b/test/background/operators/impls/NavigateLinkPrevOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import NavigateLinkPrevOperator from "../../../../src/background/operators/impls/NavigateLinkPrevOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockNavigateClient from "../../mock/MockNavigateClient"; @@ -7,7 +6,9 @@ describe("NavigateLinkPrevOperator", () => { describe("#run", () => { it("send a message to navigate next page", async () => { const navigateClient = new MockNavigateClient(); - const mock = sinon.mock(navigateClient).expects("linkPrev").withArgs(1); + const linkPrevSpy = jest + .spyOn(navigateClient, "linkPrev") + .mockReturnValueOnce(Promise.resolve()); const tabPresenter = new MockTabPresenter(); await tabPresenter.create("https://example.com/1", { active: false }); await tabPresenter.create("https://example.com/2", { active: true }); @@ -16,7 +17,7 @@ describe("NavigateLinkPrevOperator", () => { await sut.run(); - mock.verify(); + expect(linkPrevSpy).toBeCalledWith(1); }); }); }); diff --git a/test/background/operators/impls/ReloadTabOperator.test.ts b/test/background/operators/impls/ReloadTabOperator.test.ts index e87782b..0cedf3e 100644 --- a/test/background/operators/impls/ReloadTabOperator.test.ts +++ b/test/background/operators/impls/ReloadTabOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ReloadTabOperator from "../../../../src/background/operators/impls/ReloadTabOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; @@ -8,27 +7,28 @@ describe("ReloadTabOperator", () => { const tabPresenter = new MockTabPresenter(); await tabPresenter.create("https://example.com/", { active: true }); await tabPresenter.create("https://example.com/", { active: false }); - const mock = sinon.mock(tabPresenter).expects("reload").withArgs(0, true); + const reloadSpy = jest + .spyOn(tabPresenter, "reload") + .mockReturnValue(Promise.resolve()); const sut = new ReloadTabOperator(tabPresenter, true); await sut.run(); - mock.verify(); + expect(reloadSpy).toBeCalledWith(0, true); }); it("reloads the current tab without cache", async () => { const tabPresenter = new MockTabPresenter(); await tabPresenter.create("https://example.com/", { active: true }); await tabPresenter.create("https://example.com/", { active: false }); - const mock = sinon - .mock(tabPresenter) - .expects("reload") - .withArgs(0, false); + const reloadSpy = jest + .spyOn(tabPresenter, "reload") + .mockReturnValue(Promise.resolve()); const sut = new ReloadTabOperator(tabPresenter, false); await sut.run(); - mock.verify(); + expect(reloadSpy).toBeCalledWith(0, false); }); }); }); diff --git a/test/background/operators/impls/ReopenTabOperator.test.ts b/test/background/operators/impls/ReopenTabOperator.test.ts index 43b1575..5581f9a 100644 --- a/test/background/operators/impls/ReopenTabOperator.test.ts +++ b/test/background/operators/impls/ReopenTabOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ReopenTabOperator from "../../../../src/background/operators/impls/ReopenTabOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; @@ -6,12 +5,14 @@ describe("ReopenTabOperator", () => { describe("#run", () => { it("reopens closed tabs", async () => { const tabPresenter = new MockTabPresenter(); - const mock = sinon.mock(tabPresenter).expects("reopen"); + const reopenSpy = jest + .spyOn(tabPresenter, "reopen") + .mockReturnValue(Promise.resolve()); const sut = new ReopenTabOperator(tabPresenter); await sut.run(); - mock.verify(); + expect(reopenSpy).toBeCalled(); }); }); }); diff --git a/test/background/operators/impls/RepeatLastOperator.test.ts b/test/background/operators/impls/RepeatLastOperator.test.ts index 57f1227..fc37615 100644 --- a/test/background/operators/impls/RepeatLastOperator.test.ts +++ b/test/background/operators/impls/RepeatLastOperator.test.ts @@ -3,7 +3,6 @@ import MockRepeatRepository from "../../mock/MockRepeatRepository"; import OperatorFactory from "../../../../src/background/operators/OperatorFactory"; import * as operations from "../../../../src/shared/operations"; import Operator from "../../../../src/background/operators/Operator"; -import sinon from "sinon"; class MockOperatorFactory implements OperatorFactory { create(_op: operations.Operation): Operator { @@ -21,36 +20,34 @@ describe("RepeatLastOperator", () => { describe("#run", () => { it("repeat last operation", async () => { const operator = new MockOperator(); - const operatorMock = sinon.mock(operator).expects("run").once(); + const runSpy = jest + .spyOn(operator, "run") + .mockReturnValue(Promise.resolve()); + const repeatRepository = new MockRepeatRepository(); repeatRepository.setLastOperation({ type: operations.CANCEL }); const operatorFactory = new MockOperatorFactory(); - const operatorFactoryMock = sinon - .mock(operatorFactory) - .expects("create") - .withArgs({ type: operations.CANCEL }); - operatorFactoryMock.returns(operator); + const createSpy = jest + .spyOn(operatorFactory, "create") + .mockReturnValue(operator); const sut = new RepeatLastOperator(repeatRepository, operatorFactory); await sut.run(); - operatorFactoryMock.verify(); - operatorMock.verify(); + expect(runSpy).toBeCalledTimes(1); + expect(createSpy).toBeCalledWith({ type: operations.CANCEL }); }); it("does nothing if no last operations", async () => { const repeatRepository = new MockRepeatRepository(); const operatorFactory = new MockOperatorFactory(); - const operatorFactoryMock = sinon - .mock(operatorFactory) - .expects("create") - .never(); + const createSpy = jest.spyOn(operatorFactory, "create"); const sut = new RepeatLastOperator(repeatRepository, operatorFactory); await sut.run(); - operatorFactoryMock.verify(); + expect(createSpy).not.toBeCalled(); }); }); }); diff --git a/test/background/operators/impls/ResetZoomOperator.test.ts b/test/background/operators/impls/ResetZoomOperator.test.ts index 68cda05..40c56d9 100644 --- a/test/background/operators/impls/ResetZoomOperator.test.ts +++ b/test/background/operators/impls/ResetZoomOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ResetZoomOperator from "../../../../src/background/operators/impls/ResetZoomOperator"; import MockZoomPresenter from "../../mock/MockZoomPresenter"; @@ -6,12 +5,14 @@ describe("ResetZoomOperator", () => { describe("#run", () => { it("resets zoom on the tab", async () => { const zoomPresenter = new MockZoomPresenter(); - const mock = sinon.mock(zoomPresenter).expects("resetZoom").once(); + const resetZoomSpy = jest + .spyOn(zoomPresenter, "resetZoom") + .mockReturnValue(Promise.resolve()); const sut = new ResetZoomOperator(zoomPresenter); await sut.run(); - mock.verify(); + expect(resetZoomSpy).toBeCalled(); }); }); }); diff --git a/test/background/operators/impls/SelectPreviousSelectedTabOperator.test.ts b/test/background/operators/impls/SelectPreviousSelectedTabOperator.test.ts index 5d6827d..7872b2f 100644 --- a/test/background/operators/impls/SelectPreviousSelectedTabOperator.test.ts +++ b/test/background/operators/impls/SelectPreviousSelectedTabOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import MockTabPresenter from "../../mock/MockTabPresenter"; import SelectPreviousSelectedTabOperator from "../../../../src/background/operators/impls/SelectPreviousSelectedTabOperator"; @@ -9,7 +8,7 @@ describe("SelectPreviousSelectedTabOperator", () => { await tabPresenter.create("https://example.com/1", { active: false }); await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); - sinon.stub(tabPresenter, "getLastSelectedId").returns(Promise.resolve(0)); + jest.spyOn(tabPresenter, "getLastSelectedId").mockResolvedValue(0); const sut = new SelectPreviousSelectedTabOperator(tabPresenter); await sut.run(); @@ -23,15 +22,15 @@ describe("SelectPreviousSelectedTabOperator", () => { await tabPresenter.create("https://example.com/1", { active: false }); await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); - sinon - .stub(tabPresenter, "getLastSelectedId") - .returns(Promise.resolve(undefined)); - const mock = sinon.mock(tabPresenter).expects("select").never(); + jest + .spyOn(tabPresenter, "getLastSelectedId") + .mockResolvedValue(undefined); + const selectSpy = jest.spyOn(tabPresenter, "select"); const sut = new SelectPreviousSelectedTabOperator(tabPresenter); await sut.run(); - mock.verify(); + expect(selectSpy).not.toBeCalled(); }); }); }); diff --git a/test/background/operators/impls/ShowAddBookmarkOperator.test.ts b/test/background/operators/impls/ShowAddBookmarkOperator.test.ts index 1e083c2..aab7451 100644 --- a/test/background/operators/impls/ShowAddBookmarkOperator.test.ts +++ b/test/background/operators/impls/ShowAddBookmarkOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ShowAddBookmarkOperator from "../../../../src/background/operators/impls/ShowAddBookmarkOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,10 +10,9 @@ describe("ShowAddBookmarkOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "addbookmark "); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowAddBookmarkOperator( tabPresenter, @@ -23,7 +21,7 @@ describe("ShowAddBookmarkOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "addbookmark "); }); it("show command with addbookmark command and an URL of the current tab", async () => { @@ -32,10 +30,9 @@ describe("ShowAddBookmarkOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "addbookmark welcome, world"); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowAddBookmarkOperator( tabPresenter, @@ -44,7 +41,7 @@ describe("ShowAddBookmarkOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "addbookmark welcome, world"); }); }); }); diff --git a/test/background/operators/impls/ShowBufferCommandOperator.test.ts b/test/background/operators/impls/ShowBufferCommandOperator.test.ts index 91455b3..fbd1429 100644 --- a/test/background/operators/impls/ShowBufferCommandOperator.test.ts +++ b/test/background/operators/impls/ShowBufferCommandOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ShowBufferCommandOperator from "../../../../src/background/operators/impls/ShowBufferCommandOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,15 +10,14 @@ describe("ShowBufferCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "buffer "); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowBufferCommandOperator(tabPresenter, consoleClient); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "buffer "); }); }); }); diff --git a/test/background/operators/impls/ShowCommandOperator.test.ts b/test/background/operators/impls/ShowCommandOperator.test.ts index 83b028c..c07176d 100644 --- a/test/background/operators/impls/ShowCommandOperator.test.ts +++ b/test/background/operators/impls/ShowCommandOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ShowCommandOperator from "../../../../src/background/operators/impls/ShowCommandOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,15 +10,14 @@ describe("ShowCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, ""); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowCommandOperator(tabPresenter, consoleClient); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, ""); }); }); }); diff --git a/test/background/operators/impls/ShowOpenCommandOperator.test.ts b/test/background/operators/impls/ShowOpenCommandOperator.test.ts index 2c2105a..b4f631a 100644 --- a/test/background/operators/impls/ShowOpenCommandOperator.test.ts +++ b/test/background/operators/impls/ShowOpenCommandOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ShowOpenCommandOperator from "../../../../src/background/operators/impls/ShowOpenCommandOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,10 +10,9 @@ describe("ShowOpenCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "open "); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowOpenCommandOperator( tabPresenter, @@ -23,7 +21,7 @@ describe("ShowOpenCommandOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "open "); }); it("show command with open command and an URL of the current tab", async () => { @@ -32,10 +30,9 @@ describe("ShowOpenCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "open https://example.com/2"); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowOpenCommandOperator( tabPresenter, @@ -44,7 +41,7 @@ describe("ShowOpenCommandOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "open https://example.com/2"); }); }); }); diff --git a/test/background/operators/impls/ShowTabOpenCommandOperator.test.ts b/test/background/operators/impls/ShowTabOpenCommandOperator.test.ts index e291d05..1896a08 100644 --- a/test/background/operators/impls/ShowTabOpenCommandOperator.test.ts +++ b/test/background/operators/impls/ShowTabOpenCommandOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ShowTabOpenCommandOperator from "../../../../src/background/operators/impls/ShowTabOpenCommandOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,10 +10,9 @@ describe("ShowTabOpenCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "tabopen "); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowTabOpenCommandOperator( tabPresenter, @@ -23,7 +21,7 @@ describe("ShowTabOpenCommandOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "tabopen "); }); it("show command with tabopen command and an URL of the current tab", async () => { @@ -32,10 +30,9 @@ describe("ShowTabOpenCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "tabopen https://example.com/2"); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowTabOpenCommandOperator( tabPresenter, @@ -44,7 +41,7 @@ describe("ShowTabOpenCommandOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "tabopen https://example.com/2"); }); }); }); diff --git a/test/background/operators/impls/ShowWinOpenCommandOperator.test.ts b/test/background/operators/impls/ShowWinOpenCommandOperator.test.ts index c81a2d4..ce2a5b8 100644 --- a/test/background/operators/impls/ShowWinOpenCommandOperator.test.ts +++ b/test/background/operators/impls/ShowWinOpenCommandOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ShowWinOpenCommandOperator from "../../../../src/background/operators/impls/ShowWinOpenCommandOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,10 +10,9 @@ describe("ShowWinOpenCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "winopen "); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowWinOpenCommandOperator( tabPresenter, @@ -23,7 +21,7 @@ describe("ShowWinOpenCommandOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "winopen "); }); it("show command with winopen command and an URL of the current tab", async () => { @@ -32,10 +30,9 @@ describe("ShowWinOpenCommandOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon - .mock(consoleClient) - .expects("showCommand") - .withArgs(1, "winopen https://example.com/2"); + const showCommandSpy = jest + .spyOn(consoleClient, "showCommand") + .mockReturnValue(Promise.resolve()); const sut = new ShowWinOpenCommandOperator( tabPresenter, @@ -44,7 +41,7 @@ describe("ShowWinOpenCommandOperator", () => { ); await sut.run(); - mock.verify(); + expect(showCommandSpy).toBeCalledWith(1, "winopen https://example.com/2"); }); }); }); diff --git a/test/background/operators/impls/StartFindOperator.test.ts b/test/background/operators/impls/StartFindOperator.test.ts index 7764520..23ebda8 100644 --- a/test/background/operators/impls/StartFindOperator.test.ts +++ b/test/background/operators/impls/StartFindOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import StartFindOperator from "../../../../src/background/operators/impls/StartFindOperator"; import MockTabPresenter from "../../mock/MockTabPresenter"; import MockConsoleClient from "../../mock/MockConsoleClient"; @@ -11,12 +10,14 @@ describe("StartFindOperator", () => { await tabPresenter.create("https://example.com/2", { active: true }); await tabPresenter.create("https://example.com/3", { active: false }); const consoleClient = new MockConsoleClient(); - const mock = sinon.mock(consoleClient).expects("showFind").withArgs(1); + const showFindSpy = jest + .spyOn(consoleClient, "showFind") + .mockReturnValue(Promise.resolve()); const sut = new StartFindOperator(tabPresenter, consoleClient); await sut.run(); - mock.verify(); + expect(showFindSpy).toBeCalledWith(1); }); }); }); diff --git a/test/background/operators/impls/ZoomInOperator.test.ts b/test/background/operators/impls/ZoomInOperator.test.ts index 097e760..1d42421 100644 --- a/test/background/operators/impls/ZoomInOperator.test.ts +++ b/test/background/operators/impls/ZoomInOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ZoomInOperator from "../../../../src/background/operators/impls/ZoomInOperator"; import MockZoomPresenter from "../../mock/MockZoomPresenter"; @@ -6,12 +5,14 @@ describe("ZoomInOperator", () => { describe("#run", () => { it("zoom-out the current tab", async () => { const zoomPresenter = new MockZoomPresenter(); - const mock = sinon.mock(zoomPresenter).expects("zoomIn").once(); + const zoomInSpy = jest + .spyOn(zoomPresenter, "zoomIn") + .mockReturnValue(Promise.resolve()); const sut = new ZoomInOperator(zoomPresenter); await sut.run(); - mock.verify(); + expect(zoomInSpy).toBeCalled(); }); }); }); diff --git a/test/background/operators/impls/ZoomOutOperator.test.ts b/test/background/operators/impls/ZoomOutOperator.test.ts index e0bbcd9..3165707 100644 --- a/test/background/operators/impls/ZoomOutOperator.test.ts +++ b/test/background/operators/impls/ZoomOutOperator.test.ts @@ -1,4 +1,3 @@ -import sinon from "sinon"; import ZoomOutOperator from "../../../../src/background/operators/impls/ZoomOutOperator"; import MockZoomPresenter from "../../mock/MockZoomPresenter"; @@ -6,12 +5,14 @@ describe("ZoomOutOperator", () => { describe("#run", () => { it("zoom-in the current tab", async () => { const zoomPresenter = new MockZoomPresenter(); - const mock = sinon.mock(zoomPresenter).expects("zoomOut").once(); + const zoomOutSpy = jest + .spyOn(zoomPresenter, "zoomOut") + .mockReturnValue(Promise.resolve()); const sut = new ZoomOutOperator(zoomPresenter); await sut.run(); - mock.verify(); + expect(zoomOutSpy).toBeCalled(); }); }); }); |