aboutsummaryrefslogtreecommitdiff
path: root/test/content/operators/impls/MarkOperatorFactoryChain.test.ts
blob: 99cb756215cf082389e8487d097cc6d791394803 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import * as operations from "../../../../src/shared/operations";
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)
      ).toBeInstanceOf(EnableSetMarkOperator);
      expect(
        sut.create({ type: operations.MARK_JUMP_PREFIX }, 0)
      ).toBeInstanceOf(EnableJumpMarkOperator);
      expect(sut.create({ type: operations.SCROLL_TOP }, 0)).toBeNull;
    });
  });
});