forgeplus-react/node_modules/material-ui/Avatar/Avatar.test.js

164 lines
5.5 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _react = _interopRequireDefault(require("react"));
var _chai = require("chai");
var _Cancel = _interopRequireDefault(require("../internal/svg-icons/Cancel"));
var _testUtils = require("../test-utils");
var _Avatar = _interopRequireDefault(require("./Avatar"));
var _ref = _react.default.createElement(_Avatar.default, null);
var _ref2 = _react.default.createElement(_Avatar.default, {
className: "my-avatar",
src: "something.jpg",
alt: "Hello World!",
"data-my-prop": "woofAvatar"
});
var _ref3 = _react.default.createElement(_Avatar.default, {
className: "my-avatar",
"data-my-prop": "woofAvatar",
childrenClassName: "my-children"
}, _react.default.createElement("span", {
className: "my-icon-font"
}, "icon"));
var _ref4 = _react.default.createElement(_Avatar.default, {
className: "my-avatar",
"data-my-prop": "woofAvatar",
childrenClassName: "my-children"
}, _react.default.createElement(_Cancel.default, null));
var _ref5 = _react.default.createElement(_Avatar.default, {
className: "my-avatar",
"data-my-prop": "woofAvatar"
}, "OT");
describe('<Avatar />', function () {
var shallow;
var classes;
before(function () {
shallow = (0, _testUtils.createShallow)({
dive: true
});
classes = (0, _testUtils.getClasses)(_ref);
});
describe('image avatar', function () {
it('should render a div containing an img', function () {
var wrapper = shallow(_ref2);
_chai.assert.strictEqual(wrapper.name(), 'div');
_chai.assert.strictEqual(wrapper.childAt(0).is('img'), true, 'should be an img');
_chai.assert.strictEqual(wrapper.hasClass(classes.root), true);
_chai.assert.strictEqual(wrapper.hasClass('my-avatar'), true);
_chai.assert.strictEqual(wrapper.prop('data-my-prop'), 'woofAvatar');
_chai.assert.strictEqual(wrapper.hasClass(classes.colorDefault), false, 'should not apply the colorDefault class for image avatars');
var img = wrapper.childAt(0);
_chai.assert.strictEqual(img.hasClass(classes.img), true, 'should add the img class to the img node');
_chai.assert.strictEqual(img.props().alt, 'Hello World!', 'should apply img props to the img node');
_chai.assert.strictEqual(img.props().src, 'something.jpg', 'should apply img props to the img node');
});
it('should be able to add more properties to the image', function () {
var onError = function onError() {};
var wrapper = shallow(_react.default.createElement(_Avatar.default, {
src: "something.jpg",
imgProps: {
onError: onError
}
}));
_chai.assert.strictEqual(wrapper.childAt(0).props().onError, onError);
});
});
describe('font icon avatar', function () {
var wrapper;
before(function () {
wrapper = shallow(_ref3);
});
it('should render a div containing an font icon', function () {
var icon = wrapper.childAt(0);
_chai.assert.strictEqual(wrapper.name(), 'div');
_chai.assert.strictEqual(icon.is('span'), true, 'should be a span');
_chai.assert.strictEqual(icon.hasClass('my-icon-font'), true);
_chai.assert.strictEqual(icon.text(), 'icon');
});
it('should merge user classes & spread custom props to the root node', function () {
_chai.assert.strictEqual(wrapper.hasClass(classes.root), true);
_chai.assert.strictEqual(wrapper.hasClass('my-avatar'), true);
_chai.assert.strictEqual(wrapper.prop('data-my-prop'), 'woofAvatar');
});
it('should apply the colorDefault class', function () {
_chai.assert.strictEqual(wrapper.hasClass(classes.colorDefault), true);
});
it('should apply the childrenClassName class', function () {
_chai.assert.strictEqual(wrapper.childAt(0).hasClass('my-children'), true);
});
});
describe('svg icon avatar', function () {
var wrapper;
before(function () {
wrapper = shallow(_ref4);
});
it('should render a div containing an svg icon', function () {
_chai.assert.strictEqual(wrapper.name(), 'div');
_chai.assert.strictEqual(wrapper.childAt(0).is('pure(Cancel)'), true, 'should be an svg icon');
});
it('should merge user classes & spread custom props to the root node', function () {
_chai.assert.strictEqual(wrapper.hasClass(classes.root), true);
_chai.assert.strictEqual(wrapper.hasClass('my-avatar'), true);
_chai.assert.strictEqual(wrapper.prop('data-my-prop'), 'woofAvatar');
});
it('should apply the colorDefault class', function () {
_chai.assert.strictEqual(wrapper.hasClass(classes.colorDefault), true);
});
it('should apply the childrenClassName class', function () {
_chai.assert.strictEqual(wrapper.childAt(0).hasClass('my-children'), true);
});
});
describe('text avatar', function () {
var wrapper;
before(function () {
wrapper = shallow(_ref5);
});
it('should render a div containing a string', function () {
_chai.assert.strictEqual(wrapper.name(), 'div');
_chai.assert.strictEqual(wrapper.childAt(0).text(), 'OT');
});
it('should merge user classes & spread custom props to the root node', function () {
_chai.assert.strictEqual(wrapper.hasClass(classes.root), true);
_chai.assert.strictEqual(wrapper.hasClass('my-avatar'), true);
_chai.assert.strictEqual(wrapper.prop('data-my-prop'), 'woofAvatar');
});
it('should apply the colorDefault class', function () {
_chai.assert.strictEqual(wrapper.hasClass(classes.colorDefault), true);
});
});
});