blob: 7ab5de0c08def2c8c5fb991f700b095d2226f29d (
plain) (
blame)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
import "reflect-metadata";
import { expect } from "chai";
import TabOperatorFactoryChain from "../../../../src/background/operators/impls/TabOperatorFactoryChain";
import MockTabPresenter from "../../mock/MockTabPresenter";
import DuplicateTabOperator from "../../../../src/background/operators/impls/DuplicateTabOperator";
import TogglePinnedTabOperator from "../../../../src/background/operators/impls/TogglePinnedTabOperator";
import UnpinTabOperator from "../../../../src/background/operators/impls/UnpinTabOperator";
import PinTabOperator from "../../../../src/background/operators/impls/PinTabOperator";
import ReloadTabOperator from "../../../../src/background/operators/impls/ReloadTabOperator";
import SelectPreviousSelectedTabOperator from "../../../../src/background/operators/impls/SelectPreviousSelectedTabOperator";
import SelectLastTabOperator from "../../../../src/background/operators/impls/SelectLastTabOperator";
import SelectFirstTabOperator from "../../../../src/background/operators/impls/SelectFirstTabOperator";
import SelectTabNextOperator from "../../../../src/background/operators/impls/SelectTabNextOperator";
import SelectTabPrevOperator from "../../../../src/background/operators/impls/SelectTabPrevOperator";
import ReopenTabOperator from "../../../../src/background/operators/impls/ReopenTabOperator";
import CloseTabOperator from "../../../../src/background/operators/impls/CloseTabOperator";
import CloseTabRightOperator from "../../../../src/background/operators/impls/CloseTabRightOperator";
import * as operations from "../../../../src/shared/operations";
describe("TabOperatorFactoryChain", () => {
describe("#create", () => {
it("returns a operator for the operation", async () => {
const tabPresenter = new MockTabPresenter();
const sut = new TabOperatorFactoryChain(tabPresenter);
expect(sut.create({ type: operations.TAB_CLOSE })).to.be.instanceOf(
CloseTabOperator
);
expect(sut.create({ type: operations.TAB_CLOSE_RIGHT })).to.be.instanceOf(
CloseTabRightOperator
);
expect(sut.create({ type: operations.TAB_CLOSE_FORCE })).to.be.instanceOf(
CloseTabOperator
);
expect(sut.create({ type: operations.TAB_REOPEN })).to.be.instanceOf(
ReopenTabOperator
);
expect(sut.create({ type: operations.TAB_PREV })).to.be.instanceOf(
SelectTabPrevOperator
);
expect(sut.create({ type: operations.TAB_NEXT })).to.be.instanceOf(
SelectTabNextOperator
);
expect(sut.create({ type: operations.TAB_FIRST })).to.be.instanceOf(
SelectFirstTabOperator
);
expect(
sut.create({ type: operations.TAB_LAST, newTab: false })
).to.be.instanceOf(SelectLastTabOperator);
expect(
sut.create({ type: operations.TAB_PREV_SEL, newTab: false })
).to.be.instanceOf(SelectPreviousSelectedTabOperator);
expect(
sut.create({ type: operations.TAB_RELOAD, cache: false })
).to.be.instanceOf(ReloadTabOperator);
expect(sut.create({ type: operations.TAB_PIN })).to.be.instanceOf(
PinTabOperator
);
expect(sut.create({ type: operations.TAB_UNPIN })).to.be.instanceOf(
UnpinTabOperator
);
expect(
sut.create({ type: operations.TAB_TOGGLE_PINNED })
).to.be.instanceOf(TogglePinnedTabOperator);
expect(sut.create({ type: operations.TAB_DUPLICATE })).to.be.instanceOf(
DuplicateTabOperator
);
expect(sut.create({ type: operations.CANCEL })).to.be.null;
});
});
});
|