@enact/ui
Version:
A collection of simplified unstyled cross-platform UI components for Enact
62 lines (61 loc) • 2.55 kB
JavaScript
;
require("@testing-library/jest-dom");
var _react = require("@testing-library/react");
var _Spinner = require("../Spinner");
var _FloatingLayer = require("../../FloatingLayer");
var _jsxRuntime = require("react/jsx-runtime");
describe('Spinner Specs', function () {
test('should have centered class when centered prop equals true', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.SpinnerBase, {
centered: true,
component: "div",
children: "Loading..."
}));
var spinner = _react.screen.getByText('Loading...');
var expected = 'centered';
expect(spinner).toHaveClass(expected);
});
test('should not have content class when Spinner has no children', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.SpinnerBase, {
component: "div",
"data-testid": "spinner"
}));
var spinner = _react.screen.getByTestId('spinner');
var expected = 'content';
expect(spinner).not.toHaveClass(expected);
});
test('should have no scrim class when blockClickOn prop equals container', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.SpinnerBase, {
blockClickOn: "container",
component: "div",
"data-testid": "spinner"
}));
var spinnerContainer = _react.screen.getByTestId('spinner').previousElementSibling;
var expected = 'scrim';
expect(spinnerContainer).not.toHaveClass(expected);
});
test('should have scrim class when blockClickOn prop equals container and when scrim prop equals true', function () {
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.SpinnerBase, {
blockClickOn: "container",
component: "div",
"data-testid": "spinner",
scrim: true
}));
var spinnerContainer = _react.screen.getByTestId('spinner').previousElementSibling;
var expected = 'scrim';
expect(spinnerContainer).toHaveClass(expected);
});
test('should have FloatingLayer when blockClickOn prop equals screen', function () {
var Root = (0, _FloatingLayer.FloatingLayerDecorator)('div');
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Root, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.SpinnerBase, {
blockClickOn: "screen",
component: "div",
"data-testid": "spinner"
})
}));
var spinner = _react.screen.getByTestId('spinner');
expect(spinner).toBeInTheDocument();
expect(spinner.parentElement.parentElement.id).toBe('floatLayer');
});
});