test(link): add test for Link

This commit is contained in:
Eric Liu 2020-01-01 06:34:19 -08:00
commit 161b1e0ea6
2 changed files with 38 additions and 0 deletions

View file

@ -0,0 +1,33 @@
import { render } from '@testing-library/svelte';
import Component from './Link.Story.svelte';
describe('Link', () => {
function hasClass(element, className) {
return element.classList.contains(className);
}
test('default', () => {
const { getByText, container, rerender } = render(Component, {
href: '#',
inline: false,
disabled: false
});
const selector = '.bx--link';
let element = null;
element = container.querySelector(selector);
expect(element).toBeInTheDocument();
expect(element.getAttribute('href')).toEqual('#');
expect(hasClass(element, 'bx--link--inline')).toEqual(false);
expect(hasClass(element, 'bx--link--disabled')).toEqual(false);
expect(getByText('Link')).toBeInTheDocument();
expect(container.innerHTML).toMatchSnapshot();
rerender({ props: { inline: true, disabled: true } });
element = container.querySelector(selector);
expect(hasClass(element, 'bx--link--inline')).toEqual(true);
expect(hasClass(element, 'bx--link--disabled')).toEqual(true);
expect(container.innerHTML).toMatchSnapshot();
});
});

View file

@ -0,0 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Link default 1`] = `"<div><div class=\\"layout svelte-q1u82c\\"><div><a class=\\"bx--link\\" href=\\"#\\">Link</a></div></div></div>"`;
exports[`Link default 2`] = `"<div><div class=\\"layout svelte-q1u82c\\"><div><p class=\\"bx--link bx--link--disabled bx--link--inline\\">Link</p></div></div></div>"`;