UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

38 lines (36 loc) 1.78 kB
"use strict"; /* tslint:disable:no-unused-variable */ var React = require('react'); /* tslint:enable:no-unused-variable */ var ReactDOM = require('react-dom'); var ReactTestUtils = require('react-addons-test-utils'); var expect = chai.expect; var Toggle_1 = require('./Toggle'); describe('Toggle', function () { it('renders a label', function () { var component = ReactTestUtils.renderIntoDocument(React.createElement(Toggle_1.Toggle, {label: 'Label'})); var renderedDOM = ReactDOM.findDOMNode(component); var labelElement = renderedDOM.querySelector('.ms-Toggle-label'); expect(labelElement.textContent).to.equal('Label'); }); it('can call the callback on a change of toggle', function () { var isToggledValue; var callback = function (isToggled) { isToggledValue = isToggled; }; var component = ReactTestUtils.renderIntoDocument(React.createElement(Toggle_1.Toggle, {label: 'Label', onChanged: callback})); var renderedDOM = ReactDOM.findDOMNode(component); var button = renderedDOM.querySelector('.ms-Toggle-button'); ReactTestUtils.Simulate.click(button); expect(isToggledValue).to.equal(true); expect(component.state.isChecked).to.equal(true); }); it("doesn't update the state if the user provides checked", function () { var component = ReactTestUtils.renderIntoDocument(React.createElement(Toggle_1.Toggle, {label: 'Label', checked: false})); var renderedDOM = ReactDOM.findDOMNode(component); var button = renderedDOM.querySelector('.ms-Toggle-button'); ReactTestUtils.Simulate.click(button); expect(component.state.isChecked).to.equal(false); }); }); //# sourceMappingURL=Toggle.test.js.map