@salesforce/design-system-react
Version:
Salesforce Lightning Design System for React
85 lines (71 loc) • 4.24 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _chai = _interopRequireWildcard(require("chai"));
var _chaiEnzyme = _interopRequireDefault(require("chai-enzyme"));
var _enzymeHelpers = require("../../../tests/enzyme-helpers");
var _mediaObject = _interopRequireDefault(require("../../media-object"));
var _icon = _interopRequireDefault(require("../../icon"));
var _iconSettings = _interopRequireDefault(require("../../icon-settings"));
var _constants = require("../../../utilities/constants");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// `this.wrapper` and `this.dom` is set in the helpers file
_chai.default.use((0, _chaiEnzyme.default)());
var COMPONENT_CSS_CLASSES = {
base: 'slds-media',
figure: 'slds-media__figure',
body: 'slds-media__body'
};
var DemoComponent = function DemoComponent(props) {
return _react.default.createElement(_iconSettings.default, {
iconPath: "/assets/icons"
}, _react.default.createElement(_mediaObject.default, props));
};
DemoComponent.displayName = 'DemoMediaObject';
describe("".concat(_constants.MEDIA_OBJECT, ": "), function () {
/*
Tests
*/
describe('Default Structure and CSS', function () {
beforeEach((0, _enzymeHelpers.mountComponent)(_react.default.createElement(DemoComponent, {
body: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda.",
className: "this-is-a-container-test",
figure: _react.default.createElement(_icon.default, {
category: "standard",
name: "user",
size: "medium"
})
})));
afterEach(_enzymeHelpers.unmountComponent);
it('has container class, body and figure', function () {
var container = this.wrapper.find(".".concat(COMPONENT_CSS_CLASSES.base));
(0, _chai.expect)(container.hasClass('this-is-a-container-test')).to.be.true;
var body = this.wrapper.find(".".concat(COMPONENT_CSS_CLASSES.body));
var bodyText = body.text();
(0, _chai.expect)(bodyText).to.equal('Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda.');
var figure = this.wrapper.find(".".concat(COMPONENT_CSS_CLASSES.figure));
var icon = figure.find('.slds-icon-standard-user');
(0, _chai.expect)(icon.hasClass('slds-icon-standard-user')).to.be.true;
});
});
describe('Additional Structure', function () {
beforeEach((0, _enzymeHelpers.mountComponent)(_react.default.createElement(DemoComponent, {
figure: _react.default.createElement(_icon.default, {
category: "standard",
name: "user",
size: "medium"
}),
verticalCenter: true,
canTruncate: true
})));
afterEach(_enzymeHelpers.unmountComponent);
it('has media vertical center class', function () {
var container = this.wrapper.find(".".concat(COMPONENT_CSS_CLASSES.base));
(0, _chai.expect)(container.hasClass('slds-media_center')).to.be.true;
});
it('can truncate within Flexbox layout', function () {
var container = this.wrapper.find(".".concat(COMPONENT_CSS_CLASSES.base));
(0, _chai.expect)(container.hasClass('slds-has-flexi-truncate')).to.be.true;
});
});
});