import { cleanup } from '@testing-library/react';
import { render } from '../../../utils/theme-render-wrapper';
import { BrowserRouter } from 'react-router-dom';
import { Link } from './link';
afterEach(cleanup);
const href = 'helloworld';
const linkText = 'hello world';
const onClick = jest.fn();
describe('', () => {
it(`Should render table link`, () => {
const { baseElement } = render(
{linkText}
);
expect(baseElement).toBeTruthy();
});
it(`Should render valid HTML link`, () => {
const { container } = render(
{linkText}
);
const aTag = container.getElementsByTagName('a');
const res = aTag[0].href;
expect(res).toBe(`http://localhost/${href}`);
});
it(`Should render link and call onClick handler`, () => {
const { queryByText } = render(
{linkText}
);
const aElement = queryByText(linkText);
aElement?.click();
expect(onClick).toHaveBeenCalled();
});
it(`Should render link without href and "a" tag`, () => {
const { container } = render(
{linkText}
);
const aElement = container.querySelector('a');
expect(aElement).toBeFalsy();
});
it(`Should render link with external link`, () => {
const href = 'https://www.example.com';
const { container } = render(
{linkText}
);
const aElement = container.querySelector('a');
expect(aElement?.getAttribute('href')).toBe(href);
});
});