@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
86 lines • 2.52 kB
JavaScript
import React from 'react';
import { render } from '@testing-library/react';
import ExternalLink from "../ExternalLink";
describe('ExternalLink', () => {
const target = ['_blank', '_self'];
test('renders with default props', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, null));
expect(asFragment()).toMatchSnapshot();
});
test('render the herf', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
href: "www.google.com"
}));
expect(asFragment()).toMatchSnapshot();
});
test('render the herf as bool value', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
href: true
}, "Boolean Href"));
expect(asFragment()).toMatchSnapshot();
});
test.each(target)('renders with target is - %s', target => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
target: target
}));
expect(asFragment()).toMatchSnapshot();
});
test('renders with title prop', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
title: "Example Title"
}));
expect(asFragment()).toMatchSnapshot();
});
test('renders with custom className', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
className: "custom-link"
}));
expect(asFragment()).toMatchSnapshot();
});
test('renders with rel attribute', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
rel: "noopener noreferrer"
}));
expect(asFragment()).toMatchSnapshot();
});
test('renders with dataId prop', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
dataId: "test-id"
}));
expect(asFragment()).toMatchSnapshot();
});
test('renders with customProps', () => {
const customProps = {
'aria-label': 'Custom Link',
'data-custom': 'customValue'
};
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, {
customProps: customProps
}));
expect(asFragment()).toMatchSnapshot();
});
test('renders with children content', () => {
const {
asFragment
} = render( /*#__PURE__*/React.createElement(ExternalLink, null, "Click Here"));
expect(asFragment()).toMatchSnapshot();
});
});