diff --git a/src/components/Link/Link.test.js b/src/components/Link/Link.test.js new file mode 100644 index 00000000..d8979152 --- /dev/null +++ b/src/components/Link/Link.test.js @@ -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(); + }); +}); diff --git a/src/components/Link/__snapshots__/Link.test.js.snap b/src/components/Link/__snapshots__/Link.test.js.snap new file mode 100644 index 00000000..7036ee4a --- /dev/null +++ b/src/components/Link/__snapshots__/Link.test.js.snap @@ -0,0 +1,5 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Link default 1`] = `"
"`; + +exports[`Link default 2`] = `"Link