/
CarouselSpec.jsx
76 lines (65 loc) · 2.53 KB
/
CarouselSpec.jsx
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
/*global describe, beforeEach, afterEach, it, assert */
var React = require('react');
var ReactTestUtils = require('react/lib/ReactTestUtils');
var Carousel = require('../lib/Carousel');
var CarouselItem = require('../lib/CarouselItem');
describe('Carousel', function () {
it('Should show the correct item', function () {
var instance = ReactTestUtils.renderIntoDocument(
<Carousel activeIndex={1}>
<CarouselItem ref="item1">Item 1 content</CarouselItem>
<CarouselItem ref="item2">Item 2 content</CarouselItem>
</Carousel>
);
assert.equal(instance.refs.item1.props.active, false);
assert.equal(instance.refs.item2.props.active, true);
instance = ReactTestUtils.renderIntoDocument(
<Carousel defaultActiveIndex={1}>
<CarouselItem ref="item1">Item 1 content</CarouselItem>
<CarouselItem ref="item2">Item 2 content</CarouselItem>
</Carousel>
);
assert.equal(instance.refs.item1.props.active, false);
assert.equal(instance.refs.item2.props.active, true);
assert.equal(
ReactTestUtils.scryRenderedDOMComponentsWithTag(
ReactTestUtils.findRenderedDOMComponentWithClass(instance, 'carousel-indicators'), 'li'
).length, 2
);
});
it('Should handle null children', function () {
var instance = ReactTestUtils.renderIntoDocument(
<Carousel activeIndex={1}>
<CarouselItem ref="item1">Item 1 content</CarouselItem>
{null}
{false}
<CarouselItem ref="item2">Item 2 content</CarouselItem>
</Carousel>
);
assert.equal(instance.refs.item1.props.active, false);
assert.equal(instance.refs.item2.props.active, true);
assert.equal(
ReactTestUtils.scryRenderedDOMComponentsWithTag(
ReactTestUtils.findRenderedDOMComponentWithClass(instance, 'carousel-indicators'), 'li'
).length, 2
);
});
it('Should call onSelect when indicator selected', function (done) {
function onSelect(index, direction) {
assert.equal(index, 0);
assert.equal(direction, 'prev');
done();
}
var instance = ReactTestUtils.renderIntoDocument(
<Carousel activeIndex={1} onSelect={onSelect}>
<CarouselItem ref="item1">Item 1 content</CarouselItem>
<CarouselItem ref="item2">Item 2 content</CarouselItem>
</Carousel>
);
ReactTestUtils.Simulate.click(
ReactTestUtils.scryRenderedDOMComponentsWithTag(
ReactTestUtils.findRenderedDOMComponentWithClass(instance, 'carousel-indicators'), 'li'
)[0]
);
});
});