-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Expand file tree
/
Copy pathMultipleItems.test.js
More file actions
99 lines (98 loc) · 3.73 KB
/
MultipleItems.test.js
File metadata and controls
99 lines (98 loc) · 3.73 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import React from "react";
import { render, fireEvent } from "@testing-library/react";
import { html as beautify_html } from "js-beautify";
import {
activeSlide,
activeSlides,
clickNext,
clickPrevious,
getActiveButton,
getActiveSlidesCount,
getActiveSlidesText,
getButtons,
getButtonsLength,
getButtonsListItem,
getClonesCount,
getCurrentSlide,
getSlidesCount,
hasClass
} from "../../test-utils";
import MultipleItems from "../MultipleItems";
describe("Multiple Items", function() {
it("should have 9 actual slides and (3(pre) + 3(post)) clone slides", function() {
const { container } = render(<MultipleItems />);
expect(getSlidesCount(container)).toEqual(15);
expect(getClonesCount(container)).toEqual(6);
//expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should have 3 active slides", function() {
const { container } = render(<MultipleItems />);
expect(getActiveSlidesCount(container)).toEqual(3);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should have 3 dots", function() {
const { container } = render(<MultipleItems />);
expect(getButtonsLength(container)).toEqual(3);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should show first 3 slides", function() {
const { container } = render(<MultipleItems />);
expect(getActiveButton(container)).toEqual(["1"]);
expect(getActiveSlidesText(container)).toEqual(["1", "2", "3"]);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should show slides from 4 to 6 when next button is clicked", function() {
const { container } = render(<MultipleItems />);
clickNext(container);
// Array.from(container.querySelectorAll(".slick-current")).map(e=>console.log(e.textContent))
expect(getActiveButton(container)).toEqual(["2"]);
expect(getActiveSlidesText(container)).toEqual(["4", "5", "6"]);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should show last 3 slides when previous button is clicked", function() {
const { container } = render(<MultipleItems />);
clickPrevious(container);
expect(getActiveButton(container)).toEqual(["3"]);
expect(getActiveSlidesText(container)).toEqual(["7", "8", "9"]);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should show slides first 3 slides when first dot is clicked", function() {
const { container } = render(<MultipleItems />);
fireEvent(
getButtons(container)[0],
new MouseEvent("click", {
bubbles: true,
cancelable: true
})
);
expect(getActiveButton(container)).toEqual(["1"]);
expect(getActiveSlidesText(container)).toEqual(["1", "2", "3"]);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should show slides from 4 to 6 when middle dot is clicked", function() {
const { container } = render(<MultipleItems />);
fireEvent(
getButtons(container)[1],
new MouseEvent("click", {
bubbles: true,
cancelable: true
})
);
expect(getActiveButton(container)).toEqual(["2"]);
expect(getActiveSlidesText(container)).toEqual(["4", "5", "6"]);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
it("should show last 3 slides when last dot is clicked", function() {
const { container } = render(<MultipleItems />);
fireEvent(
getButtons(container)[2],
new MouseEvent("click", {
bubbles: true,
cancelable: true
})
);
expect(getActiveButton(container)).toEqual(["3"]);
expect(getActiveSlidesText(container)).toEqual(["7", "8", "9"]);
// expect(beautify_html(toString(container))).toMatchSnapshot();
});
});