aboutsummaryrefslogtreecommitdiff
path: root/test/content/operators/impls/MarkOperatorFactoryChain.test.ts
blob: 1f094dd51c79a2c7f5190db9b01f648f2f0fe9b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import * as operations from "../../../../src/shared/operations";
import { expect } from "chai";
import MarkOperatorFactoryChain from "../../../../src/content/operators/impls/MarkOperatorFactoryChain";
import MockMarkKeyRepository from "../../mock/MockMarkKeyRepository";
import EnableSetMarkOperator from "../../../../src/content/operators/impls/EnableSetMarkOperator";
import EnableJumpMarkOperator from "../../../../src/content/operators/impls/EnableJumpMarkOperator";

describe("MarkOperatorFactoryChain", () => {
  describe("#create", () => {
    it("returns an operator", () => {
      const sut = new MarkOperatorFactoryChain(new MockMarkKeyRepository());
      expect(
        sut.create({ type: operations.MARK_SET_PREFIX }, 0)
      ).to.be.instanceOf(EnableSetMarkOperator);
      expect(
        sut.create({ type: operations.MARK_JUMP_PREFIX }, 0)
      ).to.be.instanceOf(EnableJumpMarkOperator);
      expect(sut.create({ type: operations.SCROLL_TOP }, 0)).to.be.null;
    });
  });
});