vcc-ui
Version:
VCC UI is a collection of React UI Components that can be used for developing front-end applications at Volvo Car Corporation.
93 lines (87 loc) • 2.7 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _ = require(".");
var _helpers = require("./helpers");
var _createSnapshot = _interopRequireDefault(require("../../test/create-snapshot"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe("<NavItem /> snapshot tests", function () {
it("renders correctly with default props", function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.NavItem, null, "Children"));
expect(snapshot).toMatchSnapshot();
});
it("renders correctly with dropdown=true", function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.NavItem, {
dropdown: true
}, "Children"));
expect(snapshot).toMatchSnapshot();
});
it("renders correctly with isActive=true", function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.NavItem, {
isActive: true
}, "Children"));
expect(snapshot).toMatchSnapshot();
});
it("renders correctly with dropdown=true and isActive=true", function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.NavItem, {
dropdown: true,
isActive: true
}, "Children"));
expect(snapshot).toMatchSnapshot();
});
it("renders correctly with theme", function () {
var theme = {
navItem: {
backgroundColor: "green",
padding: "20px",
color: "black"
},
navItemArrows: {
color: "white",
size: "16"
}
};
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.NavItem, {
dropdown: true,
isActive: true
}, "Children"), theme);
expect(snapshot).toMatchSnapshot();
});
});
describe("helpers", function () {
it("should return default styles when navItemArrow is not defined", function () {
var defaults = {
color: "red",
size: "15"
};
var theme = {
navItem: {
border: "1px solid black"
}
};
var arrowStyles = (0, _helpers.getThemeArrowStyles)({
theme: theme,
defaults: defaults
});
expect(arrowStyles).toEqual(defaults);
});
it("should return theme styles when navItemArrow is defined", function () {
var defaults = {
color: "red",
size: "15"
};
var theme = {
navItem: {
border: "1px solid black"
},
navItemArrow: {
color: "daisy",
size: "40"
}
};
var arrowStyles = (0, _helpers.getThemeArrowStyles)({
theme: theme,
defaults: defaults
});
expect(arrowStyles).toEqual(theme.navItemArrow);
});
});