@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
210 lines (175 loc) • 7.81 kB
JavaScript
;
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
}
});
});