/
Table.spec.js
75 lines (59 loc) · 2.49 KB
/
Table.spec.js
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
import React from 'react';
import { shallow } from 'enzyme';
import { Table } from '../';
describe('Table', () => {
it('should render with "table" class', () => {
const wrapper = shallow(<Table>Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('table')).toBe(true);
});
it('should render additional classes', () => {
const wrapper = shallow(<Table className="other">Yo!</Table>);
expect(wrapper.hasClass('other')).toBe(true);
expect(wrapper.hasClass('table')).toBe(true);
});
it('should render custom tag', () => {
const wrapper = shallow(<Table tag="div">Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('table')).toBe(true);
expect(wrapper.find('div').length).toBe(1);
});
it('should render modifier classes', () => {
const wrapper = shallow(<Table size="sm" bordered striped dark hover>Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('table')).toBe(true);
expect(wrapper.hasClass('table-sm')).toBe(true);
expect(wrapper.hasClass('table-bordered')).toBe(true);
expect(wrapper.hasClass('table-striped')).toBe(true);
expect(wrapper.hasClass('table-hover')).toBe(true);
expect(wrapper.hasClass('table-dark')).toBe(true);
});
it('should render a borderless table', () => {
const wrapper = shallow(<Table borderless>Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('table')).toBe(true);
expect(wrapper.hasClass('table-borderless')).toBe(true);
});
it('should render responsive wrapper class', () => {
const wrapper = shallow(<Table responsive>Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('table-responsive')).toBe(true);
expect(wrapper.find('.table').length).toBe(1);
});
it('should render responsive wrapper class for md', () => {
const wrapper = shallow(<Table responsive="md">Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('table-responsive-md')).toBe(true);
expect(wrapper.find('.table').length).toBe(1);
});
it('should render responsive wrapper cssModule', () => {
const cssModule = {
table: 'scopedTable',
'table-responsive': 'scopedResponsive',
};
const wrapper = shallow(<Table responsive cssModule={cssModule}>Yo!</Table>);
expect(wrapper.text()).toBe('Yo!');
expect(wrapper.hasClass('scopedResponsive')).toBe(true);
expect(wrapper.find('.scopedTable').length).toBe(1);
});
});