UNPKG

@deskpro/react-forms

Version:
73 lines (59 loc) 3.05 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _Error = require('../Error'); var _Error2 = _interopRequireDefault(_Error); var _shallow = require('react-test-renderer/shallow'); var _shallow2 = _interopRequireDefault(_shallow); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('<Error />', function () { it('renders into null if no error is provided', function () { var renderer = new _shallow2.default(); renderer.render(_react2.default.createElement(_Error2.default, null)); var result = renderer.getRenderOutput(); assert(result.type === 'noscript'); }); it('renders an error message', function () { var renderer = new _shallow2.default(); renderer.render(_react2.default.createElement(_Error2.default, { error: { message: 'oops' } })); var result = renderer.getRenderOutput(); assert(result.type === 'div'); assert(result.props.children === 'oops'); }); it('renders an error message with label from schema if complete flag is set', function () { var renderer = new _shallow2.default(); renderer.render(_react2.default.createElement(_Error2.default, { error: { message: 'oops', schema: { label: 'Label' } }, complete: true })); var result = renderer.getRenderOutput(); assert(result.type === 'div'); assert(result.props.children[0] === 'Label'); assert(result.props.children[1] === ': '); assert(result.props.children[2] === 'oops'); }); it('renders an error message with label if complete flag is set', function () { var renderer = new _shallow2.default(); renderer.render(_react2.default.createElement(_Error2.default, { label: 'Label', error: { message: 'oops' }, complete: true })); var result = renderer.getRenderOutput(); assert(result.type === 'div'); assert(result.props.children[0] === 'Label'); assert(result.props.children[1] === ': '); assert(result.props.children[2] === 'oops'); }); it('renders an error message with label (overrides schema label) if complete flag is set', function () { var renderer = new _shallow2.default(); renderer.render(_react2.default.createElement(_Error2.default, { label: 'Label', error: { message: 'oops', schema: { label: 'Invalid' } }, complete: true })); var result = renderer.getRenderOutput(); assert(result.type === 'div'); assert(result.props.children[0] === 'Label'); assert(result.props.children[1] === ': '); assert(result.props.children[2] === 'oops'); }); it('ignores label if noLabel flag is passed', function () { var renderer = new _shallow2.default(); renderer.render(_react2.default.createElement(_Error2.default, { label: 'Label', error: { message: 'oops', schema: { label: 'Invalid' } }, complete: true, noLabel: true })); var result = renderer.getRenderOutput(); assert(result.type === 'div'); assert(result.props.children === 'oops'); }); }); /** * @copyright 2015, Prometheus Research, LLC */