Skip to content

Commit e734f19

Browse files
committed
added tests for beforeChange and afterChange
1 parent 8f1d7a8 commit e734f19

File tree

2 files changed

+89
-0
lines changed

2 files changed

+89
-0
lines changed

__tests__/afterChange.test.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import React from 'react';
2+
import {mount} from 'enzyme';
3+
import Slider from '../src/index';
4+
5+
class SliderWithBeforeChange extends React.Component {
6+
constructor(props) {
7+
super(props)
8+
this.state = {
9+
currentSlide: null,
10+
}
11+
this.afterChange = this.afterChange.bind(this)
12+
}
13+
afterChange(currentSlide) {
14+
console.log(currentSlide, 'afterChange')
15+
this.setState({
16+
currentSlide,
17+
})
18+
}
19+
render() {
20+
return (
21+
<Slider afterChange={this.afterChange}>
22+
<div>slide1</div>
23+
<div>slide2</div>
24+
<div>slide3</div>
25+
<div>slide4</div>
26+
</Slider>
27+
)
28+
}
29+
}
30+
31+
describe('After change Slider', function() {
32+
it('should render', function() {
33+
const wrapper = mount(<SliderWithBeforeChange />);
34+
wrapper.find('.slick-next').simulate('click')
35+
expect(wrapper.find('.slick-slide.slick-active').first().text()).toEqual('slide2');
36+
expect(wrapper.state()).toEqual({currentSlide: 1})
37+
wrapper.find('.slick-next').simulate('click')
38+
expect(wrapper.find('.slick-slide.slick-active').first().text()).toEqual('slide3');
39+
expect(wrapper.state()).toEqual({currentSlide: 2})
40+
wrapper.find('.slick-prev').simulate('click')
41+
expect(wrapper.find('.slick-slide.slick-active').first().text()).toEqual('slide2');
42+
expect(wrapper.state()).toEqual({currentSlide: 1})
43+
});
44+
});

__tests__/beforeChange.test.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import React from 'react';
2+
import {mount} from 'enzyme';
3+
import Slider from '../src/index';
4+
5+
class SliderWithBeforeChange extends React.Component {
6+
constructor(props) {
7+
super(props)
8+
this.state = {
9+
currentSlide: null,
10+
nextSlide: null
11+
}
12+
this.beforeChange = this.beforeChange.bind(this)
13+
}
14+
beforeChange(currentSlide, nextSlide) {
15+
this.setState({
16+
currentSlide,
17+
nextSlide
18+
})
19+
}
20+
render() {
21+
return (
22+
<Slider waitForAnimate={false} beforeChange={this.beforeChange}>
23+
<div>slide1</div>
24+
<div>slide2</div>
25+
<div>slide3</div>
26+
<div>slide4</div>
27+
</Slider>
28+
)
29+
}
30+
}
31+
32+
describe('Slider', function() {
33+
it('should render', function() {
34+
const wrapper = mount(<SliderWithBeforeChange />);
35+
wrapper.find('.slick-next').simulate('click')
36+
expect(wrapper.find('.slick-slide.slick-active').first().text()).toEqual('slide2');
37+
expect(wrapper.state()).toEqual({currentSlide: 0, nextSlide: 1})
38+
wrapper.find('.slick-next').simulate('click')
39+
expect(wrapper.find('.slick-slide.slick-active').first().text()).toEqual('slide3');
40+
expect(wrapper.state()).toEqual({currentSlide: 1, nextSlide: 2})
41+
wrapper.find('.slick-prev').simulate('click')
42+
expect(wrapper.find('.slick-slide.slick-active').first().text()).toEqual('slide2');
43+
expect(wrapper.state()).toEqual({currentSlide: 2, nextSlide: 1})
44+
});
45+
});

0 commit comments

Comments
 (0)