1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import { expect } from "chai";
import ScrollOperatorFactoryChain from "../../../../src/content/operators/impls/ScrollOperatorFactoryChain";
import MockScrollPresenter from "../../mock/MockScrollPresenter";
import MockSettingRepository from "../../mock/MockSettingRepository";
import HorizontalScrollOperator from "../../../../src/content/operators/impls/HorizontalScrollOperator";
import VerticalScrollOperator from "../../../../src/content/operators/impls/VerticalScrollOperator";
import PageScrollOperator from "../../../../src/content/operators/impls/PageScrollOperator";
import ScrollToTopOperator from "../../../../src/content/operators/impls/ScrollToTopOperator";
import ScrollToBottomOperator from "../../../../src/content/operators/impls/ScrollToBottomOperator";
import ScrollToHomeOperator from "../../../../src/content/operators/impls/ScrollToHomeOperator";
import ScrollToEndOperator from "../../../../src/content/operators/impls/ScrollToEndOperator";
import * as operations from "../../../../src/shared/operations";
describe("ScrollOperatorFactoryChain", () => {
describe("#create", () => {
it("returns an operator", () => {
const sut = new ScrollOperatorFactoryChain(
new MockScrollPresenter(),
new MockSettingRepository()
);
expect(
sut.create({ type: operations.SCROLL_HORIZONALLY, count: 10 }, 0)
).to.be.instanceOf(HorizontalScrollOperator);
expect(
sut.create({ type: operations.SCROLL_VERTICALLY, count: 10 }, 0)
).to.be.instanceOf(VerticalScrollOperator);
expect(
sut.create({ type: operations.SCROLL_PAGES, count: 10 }, 0)
).to.be.instanceOf(PageScrollOperator);
expect(sut.create({ type: operations.SCROLL_TOP }, 0)).to.be.instanceOf(
ScrollToTopOperator
);
expect(
sut.create({ type: operations.SCROLL_BOTTOM }, 0)
).to.be.instanceOf(ScrollToBottomOperator);
expect(sut.create({ type: operations.SCROLL_HOME }, 0)).to.be.instanceOf(
ScrollToHomeOperator
);
expect(sut.create({ type: operations.SCROLL_END }, 0)).to.be.instanceOf(
ScrollToEndOperator
);
expect(sut.create({ type: operations.PAGE_HOME, newTab: false }, 0)).to.be
.null;
});
});
});
|