diff options
Diffstat (limited to 'test/background/operators/impls/OpenHomeOperator.test.ts')
-rw-r--r-- | test/background/operators/impls/OpenHomeOperator.test.ts | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/test/background/operators/impls/OpenHomeOperator.test.ts b/test/background/operators/impls/OpenHomeOperator.test.ts new file mode 100644 index 0000000..3c9288f --- /dev/null +++ b/test/background/operators/impls/OpenHomeOperator.test.ts @@ -0,0 +1,70 @@ +import { expect } from "chai"; +import OpenHomeOperator from "../../../../src/background/operators/impls/OpenHomeOperator"; +import MockTabPresenter from "../../mock/MockTabPresenter"; +import MockBrowserSettingRepository from "../../mock/MockBrowserSettingRepository"; + +describe("OpenHomeOperator", () => { + describe("#run", () => { + it("opens a home page of the browser into the current tab", async () => { + const tabPresenter = new MockTabPresenter(); + await tabPresenter.create("https://example.com/"); + const browserSettingRepository = new MockBrowserSettingRepository([ + "https://example.net/", + ]); + const sut = new OpenHomeOperator( + tabPresenter, + browserSettingRepository, + false + ); + + await sut.run(); + + const url = (await tabPresenter.getCurrent()).url; + expect(url).to.be.equal("https://example.net/"); + }); + + it("opens a home page of the browser into a new tab", async () => { + const tabPresenter = new MockTabPresenter(); + await tabPresenter.create("https://example.com/"); + const browserSettingRepository = new MockBrowserSettingRepository([ + "https://example.net/", + ]); + const sut = new OpenHomeOperator( + tabPresenter, + browserSettingRepository, + true + ); + + await sut.run(); + + const urls = (await tabPresenter.getAll()).map((t) => t.url); + expect(urls).to.be.deep.equal([ + "https://example.com/", + "https://example.net/", + ]); + }); + + it("opens home pages of the browser", async () => { + const tabPresenter = new MockTabPresenter(); + await tabPresenter.create("https://example.com/"); + const browserSettingRepository = new MockBrowserSettingRepository([ + "https://example.net/", + "https://example.org/", + ]); + const sut = new OpenHomeOperator( + tabPresenter, + browserSettingRepository, + false + ); + + await sut.run(); + + const urls = (await tabPresenter.getAll()).map((t) => t.url); + expect(urls).to.be.deep.equal([ + "https://example.com/", + "https://example.net/", + "https://example.org/", + ]); + }); + }); +}); |