diff options
Diffstat (limited to 'test/background/operators/impls/SelectTabPrevOperator.test.ts')
-rw-r--r-- | test/background/operators/impls/SelectTabPrevOperator.test.ts | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/background/operators/impls/SelectTabPrevOperator.test.ts b/test/background/operators/impls/SelectTabPrevOperator.test.ts new file mode 100644 index 0000000..c9092fa --- /dev/null +++ b/test/background/operators/impls/SelectTabPrevOperator.test.ts @@ -0,0 +1,35 @@ +import { expect } from "chai"; +import MockTabPresenter from "../../mock/MockTabPresenter"; +import SelectTabPrevOperator from "../../../../src/background/operators/impls/SelectTabPrevOperator"; + +describe("SelectTabPrevOperator", () => { + describe("#run", () => { + it("select a left tab of the current tab", async () => { + const tabPresenter = new MockTabPresenter(); + 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 }); + + const sut = new SelectTabPrevOperator(tabPresenter); + await sut.run(); + + const url = (await tabPresenter.getCurrent()).url; + expect(url).to.equal("https://example.com/1"); + }); + }); + + describe("#run", () => { + it("select a left tab of the current tab in rotation", async () => { + const tabPresenter = new MockTabPresenter(); + await tabPresenter.create("https://example.com/1", { active: true }); + await tabPresenter.create("https://example.com/2", { active: false }); + await tabPresenter.create("https://example.com/3", { active: false }); + + const sut = new SelectTabPrevOperator(tabPresenter); + await sut.run(); + + const url = (await tabPresenter.getCurrent()).url; + expect(url).to.equal("https://example.com/3"); + }); + }); +}); |