UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

210 lines (175 loc) 7.81 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _react2 = require("@testing-library/react"); var _AudioPlayer = _interopRequireDefault(require("../AudioPlayer")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var DEFAULT_PROPS = { minute: '02', second: '03', durationInSec: '203', src: 'https://ypvnxx00-a.akamaihd.net/downloads/ringtones/files/mp3/yuvanringtone-44640.mp3' }; describe('AudioPlayer - Snapshot', function () { test('Render with default props', function () { var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], DEFAULT_PROPS)), asFragment = _render.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with customId and testId', function () { var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { customId: "audio-player-customId", testId: "audio-player-testId" }))), asFragment = _render2.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with tag attributes', function () { var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { tagAttributes: { 'data-custom-attr': 'true' } }))), asFragment = _render3.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with a11y attributes', function () { var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { a11yAttributes: { role: 'region' } }))), asFragment = _render4.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with customClass', function () { var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { customClass: "my-audio-player" }))), asFragment = _render5.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with i18nKeys', function () { var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { i18nKeys: { play: 'Play', pause: 'Pause' } }))), asFragment = _render6.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with needClose=false', function () { var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { needClose: false }))), asFragment = _render7.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with needDownload=false', function () { var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { needDownload: false }))), asFragment = _render8.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with needMuteIcon=true', function () { var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { needMuteIcon: true }))), asFragment = _render9.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with isPlay=true', function () { var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { isPlay: true }))), asFragment = _render10.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with timerFormat=ss:mm', function () { var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { timerFormat: "ss:mm" }))), asFragment = _render11.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with forwardStepInSec=10', function () { var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { forwardStepInSec: 10 }))), asFragment = _render12.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with backwardStepInSec=10', function () { var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { backwardStepInSec: 10 }))), asFragment = _render13.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('Render with range=50', function () { var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { range: 50 }))), asFragment = _render14.asFragment; expect(asFragment()).toMatchSnapshot(); }); }); describe('AudioPlayer - Unit', function () { test('Should call togglePlayer on close button click', function () { var togglePlayer = jest.fn(); (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { togglePlayer: togglePlayer }))); var closeBtn = _react2.screen.queryByTestId('audioPlayerClose'); if (closeBtn) { _react2.fireEvent.click(closeBtn); expect(togglePlayer).toHaveBeenCalled(); } }); test('Should call downloadFile on download button click', function () { var downloadFile = jest.fn(); (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { downloadFile: downloadFile }))); var downloadBtn = _react2.screen.queryByTestId('audioDownload'); if (downloadBtn) { _react2.fireEvent.click(downloadBtn); expect(downloadFile).toHaveBeenCalled(); } }); test('Should toggle play/pause on play button click', function () { var togglePlayer = jest.fn(); (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { togglePlayer: togglePlayer }))); var playBtn = _react2.screen.queryByTestId('audioPlayPause'); if (playBtn) { _react2.fireEvent.click(playBtn); expect(togglePlayer).toHaveBeenCalled(); } }); test('Should mute/unmute on mute button click', function () { (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { needMuteIcon: true }))); var muteBtn = _react2.screen.queryByTestId('audioMute'); if (muteBtn) { _react2.fireEvent.click(muteBtn); // Add assertion if mute state is exposed via prop or DOM } }); test('Should change range on slider input', function () { (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AudioPlayer["default"], _extends({}, DEFAULT_PROPS, { range: 0 }))); var rangeInput = _react2.screen.queryByTestId('audioRange'); if (rangeInput) { _react2.fireEvent.change(rangeInput, { target: { value: 50 } }); // Add assertion if range change is exposed via prop or DOM } }); });