diff --git a/test/short-urls/helpers/ShortUrlVisitsCount.test.tsx b/test/short-urls/helpers/ShortUrlVisitsCount.test.tsx index 474802f1..1fb8bf49 100644 --- a/test/short-urls/helpers/ShortUrlVisitsCount.test.tsx +++ b/test/short-urls/helpers/ShortUrlVisitsCount.test.tsx @@ -1,43 +1,28 @@ -import { shallow, ShallowWrapper } from 'enzyme'; -import { UncontrolledTooltip } from 'reactstrap'; +import { render } from '@testing-library/react'; import { Mock } from 'ts-mockery'; import { ShortUrlVisitsCount } from '../../../src/short-urls/helpers/ShortUrlVisitsCount'; import { ShortUrl } from '../../../src/short-urls/data'; describe('', () => { - let wrapper: ShallowWrapper; - - const createWrapper = (visitsCount: number, shortUrl: ShortUrl) => { - wrapper = shallow(); - - return wrapper; - }; - - afterEach(() => wrapper?.unmount()); + const setUp = (visitsCount: number, shortUrl: ShortUrl) => render( + , + ); it.each([undefined, {}])('just returns visits when no maxVisits is provided', (meta) => { const visitsCount = 45; - const wrapper = createWrapper(visitsCount, Mock.of({ meta })); - const maxVisitsHelper = wrapper.find('.short-urls-visits-count__max-visits-control'); - const maxVisitsTooltip = wrapper.find(UncontrolledTooltip); + const { container } = setUp(visitsCount, Mock.of({ meta })); - expect(wrapper.html()).toEqual( - `${visitsCount}`, - ); - expect(maxVisitsHelper).toHaveLength(0); - expect(maxVisitsTooltip).toHaveLength(0); + expect(container.firstChild).toHaveTextContent(`${visitsCount}`); + expect(container.querySelector('.short-urls-visits-count__max-visits-control')).not.toBeInTheDocument(); }); it('displays the maximum amount of visits when present', () => { const visitsCount = 45; const maxVisits = 500; const meta = { maxVisits }; - const wrapper = createWrapper(visitsCount, Mock.of({ meta })); - const maxVisitsHelper = wrapper.find('.short-urls-visits-count__max-visits-control'); - const maxVisitsTooltip = wrapper.find(UncontrolledTooltip); + const { container } = setUp(visitsCount, Mock.of({ meta })); - expect(wrapper.html()).toContain(`/ ${maxVisits}`); - expect(maxVisitsHelper).toHaveLength(1); - expect(maxVisitsTooltip).toHaveLength(1); + expect(container.firstChild).toHaveTextContent(`/ ${maxVisits}`); + expect(container.querySelector('.short-urls-visits-count__max-visits-control')).toBeInTheDocument(); }); });