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