diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2021-03-17 23:20:41 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2021-03-21 12:24:36 +0900 |
commit | 3ffb4b066cdcc60a49ce4ecd0bbc498da6256534 (patch) | |
tree | d118d1c1251fd93b9d36df79da80056ff13938b3 /test/content/operators/impls | |
parent | 5382f2353e693bc8e2682eb045e8bb9930829adc (diff) |
Attach/detach console iframe on addon enabled/disabled
Diffstat (limited to 'test/content/operators/impls')
5 files changed, 38 insertions, 4 deletions
diff --git a/test/content/operators/impls/AddonOperatorFactoryChain.test.ts b/test/content/operators/impls/AddonOperatorFactoryChain.test.ts index c064bb9..dde5a35 100644 --- a/test/content/operators/impls/AddonOperatorFactoryChain.test.ts +++ b/test/content/operators/impls/AddonOperatorFactoryChain.test.ts @@ -6,13 +6,15 @@ import * as operations from "../../../../src/shared/operations"; import { expect } from "chai"; import MockAddonIndicatorClient from "../../mock/MockAddonIndicatorClient"; import MockAddonEnabledRepository from "../../mock/MockAddonEnabledRepository"; +import MockConsoleFramePresenter from "./MockConsoleFramePresenter"; describe("AddonOperatorFactoryChain", () => { describe("#create", () => { it("returns an operator", () => { const sut = new AddonOperatorFactoryChain( new MockAddonIndicatorClient(), - new MockAddonEnabledRepository() + new MockAddonEnabledRepository(), + new MockConsoleFramePresenter(false) ); expect(sut.create({ type: operations.ADDON_ENABLE }, 0)).to.be.instanceOf( EnableAddonOperator diff --git a/test/content/operators/impls/DisableAddonOperator.test.ts b/test/content/operators/impls/DisableAddonOperator.test.ts index 358ae44..e05d1f1 100644 --- a/test/content/operators/impls/DisableAddonOperator.test.ts +++ b/test/content/operators/impls/DisableAddonOperator.test.ts @@ -2,18 +2,21 @@ import { expect } from "chai"; import DisableAddonOperator from "../../../../src/content/operators/impls/DisableAddonOperator"; import MockAddonIndicatorClient from "../../mock/MockAddonIndicatorClient"; import MockAddonEnabledRepository from "../../mock/MockAddonEnabledRepository"; +import MockConsoleFramePresenter from "./MockConsoleFramePresenter"; describe("DisableAddonOperator", () => { describe("#run", () => { it("disables addon", async () => { const client = new MockAddonIndicatorClient(true); const repository = new MockAddonEnabledRepository(true); - const sut = new DisableAddonOperator(client, repository); + const presenter = new MockConsoleFramePresenter(true); + const sut = new DisableAddonOperator(client, repository, presenter); await sut.run(); expect(client.enabled).to.be.false; expect(repository.enabled).to.be.false; + expect(presenter.attached).to.be.false; }); }); }); diff --git a/test/content/operators/impls/EnableAddonOperator.test.ts b/test/content/operators/impls/EnableAddonOperator.test.ts index a6ca31b..6025608 100644 --- a/test/content/operators/impls/EnableAddonOperator.test.ts +++ b/test/content/operators/impls/EnableAddonOperator.test.ts @@ -2,18 +2,21 @@ import { expect } from "chai"; import EnableAddonOperator from "../../../../src/content/operators/impls/EnableAddonOperator"; import MockAddonIndicatorClient from "../../mock/MockAddonIndicatorClient"; import MockAddonEnabledRepository from "../../mock/MockAddonEnabledRepository"; +import MockConsoleFramePresenter from "./MockConsoleFramePresenter"; describe("EnableAddonOperator", () => { describe("#run", () => { it("enabled addon", async () => { const client = new MockAddonIndicatorClient(false); const repository = new MockAddonEnabledRepository(false); - const sut = new EnableAddonOperator(client, repository); + const presenter = new MockConsoleFramePresenter(false); + const sut = new EnableAddonOperator(client, repository, presenter); await sut.run(); expect(client.enabled).to.be.true; expect(repository.enabled).to.be.true; + expect(presenter.attached).to.be.true; }); }); }); diff --git a/test/content/operators/impls/MockConsoleFramePresenter.ts b/test/content/operators/impls/MockConsoleFramePresenter.ts new file mode 100644 index 0000000..f8ac70b --- /dev/null +++ b/test/content/operators/impls/MockConsoleFramePresenter.ts @@ -0,0 +1,22 @@ +import ConsoleFramePresenter from "../../../../src/content/presenters/ConsoleFramePresenter"; + +export default class MockConsoleFramePresenter + implements ConsoleFramePresenter { + constructor(public attached: boolean) {} + + attach(): void { + this.attached = true; + } + + detach(): void { + this.attached = false; + } + + blur(): void { + throw new Error("not implemented"); + } + + resize(_width: number, _height: number): void { + throw new Error("not implemented"); + } +} diff --git a/test/content/operators/impls/ToggleAddonOperator.test.ts b/test/content/operators/impls/ToggleAddonOperator.test.ts index 6026eb1..1f291b5 100644 --- a/test/content/operators/impls/ToggleAddonOperator.test.ts +++ b/test/content/operators/impls/ToggleAddonOperator.test.ts @@ -2,23 +2,27 @@ import { expect } from "chai"; import ToggleAddonOperator from "../../../../src/content/operators/impls/ToggleAddonOperator"; import MockAddonIndicatorClient from "../../mock/MockAddonIndicatorClient"; import MockAddonEnabledRepository from "../../mock/MockAddonEnabledRepository"; +import MockConsoleFramePresenter from "./MockConsoleFramePresenter"; describe("ToggleAddonOperator", () => { describe("#run", () => { it("toggles addon-enabled state", async () => { const client = new MockAddonIndicatorClient(true); const repository = new MockAddonEnabledRepository(true); - const sut = new ToggleAddonOperator(client, repository); + const presenter = new MockConsoleFramePresenter(true); + const sut = new ToggleAddonOperator(client, repository, presenter); await sut.run(); expect(client.enabled).to.be.false; expect(repository.enabled).to.be.false; + expect(presenter.attached).to.be.false; await sut.run(); expect(client.enabled).to.be.true; expect(repository.enabled).to.be.true; + expect(presenter.attached).to.be.true; }); }); }); |