/
slide.spec.js
52 lines (43 loc) · 1.81 KB
/
slide.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
'use strict';
import React from 'react';
import TestUtils from 'react-dom/test-utils';
import { expect } from 'chai';
import createShallowComponent from './utils/createShallowComponent';
import BurgerMenu from '../src/BurgerMenu';
const Menu = BurgerMenu.slide.default;
describe('slide', () => {
let component;
beforeEach(() => {
component = TestUtils.renderIntoDocument(
<Menu pageWrapId={ 'page-wrap' } outerContainerId={ 'outer-container' }>
<div>An item</div>
</Menu>
);
});
it('has correct menuWrap styles', () => {
component = createShallowComponent(<Menu><div>An item</div></Menu>);
const menuWrap = component.props.children[1];
expect(menuWrap.props.style.position).to.equal('fixed');
expect(menuWrap.props.style.zIndex).to.equal(1100);
expect(menuWrap.props.style.width).to.equal('300px');
expect(menuWrap.props.style.height).to.equal('100%');
});
it('has correct menu styles', () => {
const menu = TestUtils.findRenderedDOMComponentWithClass(component, 'bm-menu');
expect(menu.style.height).to.equal('100%');
expect(menu.style.boxSizing).to.equal('border-box');
});
it('has correct itemList styles', () => {
const itemList = TestUtils.findRenderedDOMComponentWithClass(component, 'bm-item-list');
expect(itemList.style.height).to.equal('100%');
});
it('has correct item styles', () => {
const firstItem = TestUtils.findRenderedDOMComponentWithClass(component, 'bm-item-list').children[0];
expect(firstItem.style.display).to.equal('block');
});
it('can be positioned on the right', () => {
component = TestUtils.renderIntoDocument(<Menu right><div>An item</div></Menu>);
const menuWrap = TestUtils.findRenderedDOMComponentWithClass(component, 'bm-menu-wrap');
expect(menuWrap.style.right).to.equal('0px');
});
});