UNPKG

@enact/ui

Version:

A collection of simplified unstyled cross-platform UI components for Enact

62 lines (61 loc) 2.55 kB
"use strict"; 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'); }); });