UNPKG

@deskpro/react-forms

Version:
92 lines (69 loc) 3.09 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _Error = require('../Error'); var _Error2 = _interopRequireDefault(_Error); var _ErrorList = require('../ErrorList'); var _ErrorList2 = _interopRequireDefault(_ErrorList); var _shallow = require('react-test-renderer/shallow'); var _shallow2 = _interopRequireDefault(_shallow); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @copyright 2016, Prometheus Research, LLC */ describe('<ErrorList />', function () { var renderer = void 0; beforeEach(function () { renderer = new _shallow2.default(); }); it('renders into null', function () { var formValue = { errorList: [] }; renderer.render(_react2.default.createElement(_ErrorList2.default, { formValue: formValue })); assert(renderer.getRenderOutput() === null); }); it('renders a list of errors', function () { var formValue = { errorList: [{ field: 'data.a', message: 'error' }] }; renderer.render(_react2.default.createElement(_ErrorList2.default, { formValue: formValue })); var tree = renderer.getRenderOutput(); assert(tree.type === 'div'); assert(tree.props.children.length === 1); assert(tree.props.children[0].type === _Error2.default); assert(tree.props.children[0].props.error.message === 'error'); }); it('renders a complete list of errors', function () { var formValue = { completeErrorList: [{ field: 'data.a', message: 'error' }] }; renderer.render(_react2.default.createElement(_ErrorList2.default, { complete: true, formValue: formValue })); var tree = renderer.getRenderOutput(); assert(tree.type === 'div'); assert(tree.props.children.length === 1); assert(tree.props.children[0].type === _Error2.default); assert(tree.props.children[0].props.error.message === 'error'); }); it('renders a list of errors with labels fetched from schema', function () { var formValue = { completeErrorList: [{ field: 'data.a', message: 'error', schema: { label: 'A' } }] }; renderer.render(_react2.default.createElement(_ErrorList2.default, { complete: true, formValue: formValue })); var tree = renderer.getRenderOutput(); assert(tree.type === 'div'); assert(tree.props.children.length === 1); assert(tree.props.children[0].type === _Error2.default); }); it('can filter errors by schema types', function () { var formValue = { completeErrorList: [{ field: 'data.a', message: 'error', schema: { type: 'object' } }, { field: 'data.b', message: 'error', schema: { type: 'string' } }] }; renderer.render(_react2.default.createElement(_ErrorList2.default, { complete: true, schemaType: { object: true }, formValue: formValue })); var tree = renderer.getRenderOutput(); assert(tree.type === 'div'); assert(tree.props.children.length === 1); assert(tree.props.children[0].type === _Error2.default); assert(tree.props.children[0].props.error.message === 'error'); }); });