@carbon/ibm-cloud-cognitive-cdai
Version:
Carbon for Cloud & Cognitive CD&AI UI components
88 lines (86 loc) • 3.99 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _ = require(".");
var _customLg = _interopRequireDefault(require("./test_assets/custom.lg.svg"));
var jth = _interopRequireWildcard(require("../../component_helpers/jest_test_helper_functions.js"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
//
// Copyright IBM Corp. 2020, 2020
//
// This source code is licensed under the Apache-2.0 license found in the
// LICENSE file in the root directory of this source tree.
//
describe('IdeEmptyState', function () {
var component, unmount;
var mountTestComponent = function mountTestComponent(props) {
var getJSXForComponent = jth.getJSXForComponent,
mountComponent = jth.mountComponent;
var test = mountComponent(getJSXForComponent(_.IdeEmptyState, {}, props), false);
component = test.component;
unmount = test.unmount;
};
afterEach(function () {
return unmount && unmount();
});
it('renders when no props are defined', function () {
mountTestComponent();
expect(component.getElements()).toMatchSnapshot();
});
var rendersWhenPropIsDefined = function rendersWhenPropIsDefined(propName, propValue, suffix) {
var name = "renders when the ".concat(propName, " prop is defined");
if (suffix) {
name += " as ".concat(suffix);
}
it(name, function () {
mountTestComponent((0, _defineProperty2.default)({}, propName, propValue));
expect(component.getElements()).toMatchSnapshot();
});
};
rendersWhenPropIsDefined('format', 'lg', 'lg');
rendersWhenPropIsDefined('format', 'sm', 'sm');
rendersWhenPropIsDefined('image', 'apiError', 'apiError');
rendersWhenPropIsDefined('image', 'default', 'default');
rendersWhenPropIsDefined('image', 'deploy', 'deploy');
rendersWhenPropIsDefined('image', 'noSearchResults', 'noSearchResults');
rendersWhenPropIsDefined('image', 'notAuthorized', 'notAuthorized');
rendersWhenPropIsDefined('image', {
alt: 'Custom alt',
className: 'custom-classname',
src: _customLg.default
}, 'an object');
rendersWhenPropIsDefined('image', function () {
return _customLg.default;
}, 'a function that returns an image');
rendersWhenPropIsDefined('title', 'Custom title', 'a string');
rendersWhenPropIsDefined('body', 'Custom body', 'a string');
rendersWhenPropIsDefined('button', {
kind: 'primary',
onClick: function onClick() {},
text: 'Custom text'
}, 'an object');
rendersWhenPropIsDefined('button', function () {
return '';
}, 'a function');
rendersWhenPropIsDefined('links', {
text: 'Custom link',
url: 'http://ibm.com'
}, 'an object');
rendersWhenPropIsDefined('links', [{
text: 'Custom link 1',
url: 'http://ibm.com'
}, {
text: 'Custom external link 2',
url: 'http://ibm.com',
target: '_blank'
}], 'an array of objects');
rendersWhenPropIsDefined('links', [{
text: 'Custom link 1',
url: '#',
onClick: function onClick() {
return console.log('custom function');
}
}], 'an object');
});