From 8bbc3d9d159237f280c3e952cd1cb124601ed6d6 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Thu, 3 Dec 2020 23:15:24 +0900 Subject: Add operator tests --- .../impls/ZoomOperatorFactoryChain.test.ts | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/background/operators/impls/ZoomOperatorFactoryChain.test.ts (limited to 'test/background/operators/impls/ZoomOperatorFactoryChain.test.ts') diff --git a/test/background/operators/impls/ZoomOperatorFactoryChain.test.ts b/test/background/operators/impls/ZoomOperatorFactoryChain.test.ts new file mode 100644 index 0000000..10c1cee --- /dev/null +++ b/test/background/operators/impls/ZoomOperatorFactoryChain.test.ts @@ -0,0 +1,28 @@ +import "reflect-metadata"; +import { expect } from "chai"; +import ZoomOperatorFactoryChain from "../../../../src/background/operators/impls/ZoomOperatorFactoryChain"; +import MockZoomPresenter from "../../mock/MockZoomPresenter"; +import ZoomInOperator from "../../../../src/background/operators/impls/ZoomInOperator"; +import ZoomOutOperator from "../../../../src/background/operators/impls/ZoomOutOperator"; +import ResetZoomOperator from "../../../../src/background/operators/impls/ResetZoomOperator"; +import * as operations from "../../../../src/shared/operations"; + +describe("ZoomOperatorFactoryChain", () => { + describe("#create", () => { + it("returns a operator for the operation", async () => { + const zoomPresenter = new MockZoomPresenter(); + const sut = new ZoomOperatorFactoryChain(zoomPresenter); + + expect(sut.create({ type: operations.ZOOM_IN })).to.be.instanceOf( + ZoomInOperator + ); + expect(sut.create({ type: operations.ZOOM_OUT })).to.be.instanceOf( + ZoomOutOperator + ); + expect(sut.create({ type: operations.ZOOM_NEUTRAL })).to.be.instanceOf( + ResetZoomOperator + ); + expect(sut.create({ type: operations.CANCEL })).to.be.null; + }); + }); +}); -- cgit v1.2.3