UNPKG

@zohodesk/dot

Version:

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

144 lines (122 loc) 5.45 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _react2 = require("@testing-library/react"); var _Link = _interopRequireDefault(require("../Link")); var _LinkContext = _interopRequireDefault(require("../LinkContext")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } describe('Link Component Snapshot Tests', function () { var targetOptions = ['_blank', '_self']; var mockContextOptions = { options: { isLink: true, constructURL: jest.fn(function (urlName, urlData) { return "https://zoho.com/".concat(urlName, "/").concat(urlData || ''); }) } }; var renderWithProvider = function renderWithProvider(component) { return (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_LinkContext["default"].Provider, { value: mockContextOptions }, component)); }; test('renders with default props', function () { var _renderWithProvider = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], null)), asFragment = _renderWithProvider.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with children content', function () { var _renderWithProvider2 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Click Here")), asFragment = _renderWithProvider2.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with href prop', function () { var _renderWithProvider3 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { href: "https://zoho.com" })), asFragment = _renderWithProvider3.asFragment; expect(asFragment()).toMatchSnapshot(); }); test.each(targetOptions)('renders with target - %s', function (target) { var _renderWithProvider4 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { target: target })), asFragment = _renderWithProvider4.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with urlName and urlData using provider', function () { var _renderWithProvider5 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { urlName: "profile", urlData: { id: 123 } })), asFragment = _renderWithProvider5.asFragment; expect(mockContextOptions.options.constructURL).toHaveBeenCalledWith('profile', { id: 123 }); expect(asFragment()).toMatchSnapshot(); }); test('renders with urlName and undefined urlData using provider', function () { var _renderWithProvider6 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { urlName: "profile" })), asFragment = _renderWithProvider6.asFragment; expect(mockContextOptions.options.constructURL).toHaveBeenCalledWith('profile', undefined); expect(asFragment()).toMatchSnapshot(); }); test('renders with urlName and urlData as undefined using provider', function () { var _renderWithProvider7 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { urlName: undefined, urlData: undefined })), asFragment = _renderWithProvider7.asFragment; expect(mockContextOptions.options.constructURL).toHaveBeenCalledWith(undefined, undefined); expect(asFragment()).toMatchSnapshot(); }); test('renders with custom className', function () { var _renderWithProvider8 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { className: "custom-link" })), asFragment = _renderWithProvider8.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with title prop', function () { var _renderWithProvider9 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { title: "Example Title" })), asFragment = _renderWithProvider9.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with download attribute', function () { var _renderWithProvider10 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { download: true })), asFragment = _renderWithProvider10.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with rel attribute', function () { var _renderWithProvider11 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { rel: "noopener noreferrer" })), asFragment = _renderWithProvider11.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with dataId prop', function () { var _renderWithProvider12 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { dataId: "test-id" })), asFragment = _renderWithProvider12.asFragment; expect(asFragment()).toMatchSnapshot(); }); test('renders with customProps', function () { var customProps = { 'data-custom': 'customValue', 'data-id': 'uniqueId' }; var _renderWithProvider13 = renderWithProvider( /*#__PURE__*/_react["default"].createElement(_Link["default"], { customProps: customProps })), asFragment = _renderWithProvider13.asFragment; expect(asFragment()).toMatchSnapshot(); }); });