From 707c9f4ce64974bb7c4cd289f6d4fb04d34e0007 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 8 Feb 2020 09:20:19 +0100 Subject: [PATCH] Created VisitStatsLink test --- .../helpers/ShortUrlsRowMenu.test.js | 2 - .../short-urls/helpers/VisitStatsLink.test.js | 42 +++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 test/short-urls/helpers/VisitStatsLink.test.js diff --git a/test/short-urls/helpers/ShortUrlsRowMenu.test.js b/test/short-urls/helpers/ShortUrlsRowMenu.test.js index 59d5f91e..cfcee90d 100644 --- a/test/short-urls/helpers/ShortUrlsRowMenu.test.js +++ b/test/short-urls/helpers/ShortUrlsRowMenu.test.js @@ -83,6 +83,4 @@ describe('', () => { done(); }); }); - - it('generates expected visits page link', () => {}) }); diff --git a/test/short-urls/helpers/VisitStatsLink.test.js b/test/short-urls/helpers/VisitStatsLink.test.js new file mode 100644 index 00000000..dd7a2ec6 --- /dev/null +++ b/test/short-urls/helpers/VisitStatsLink.test.js @@ -0,0 +1,42 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import each from 'jest-each'; +import { Link } from 'react-router-dom'; +import VisitStatsLink from '../../../src/short-urls/helpers/VisitStatsLink'; + +describe('', () => { + let wrapper; + + afterEach(() => wrapper && wrapper.unmount()); + + each([ + [ undefined, undefined ], + [ null, null ], + [{}, null ], + [{}, undefined ], + [ null, {}], + [ undefined, {}], + ]).it('only renders a plan span when either server or short URL are not set', (selectedServer, shortUrl) => { + wrapper = shallow(Something); + const link = wrapper.find(Link); + + expect(link).toHaveLength(0); + expect(wrapper.html()).toEqual('Something'); + }); + + each([ + [{ id: '1' }, { shortCode: 'abc123' }, '/server/1/short-code/abc123/visits' ], + [ + { id: '3' }, + { shortCode: 'def456', domain: 'example.com' }, + '/server/3/short-code/def456/visits?domain=example.com', + ], + ]).it('renders link with expected query when', (selectedServer, shortUrl, expectedLink) => { + wrapper = shallow(Something); + const link = wrapper.find(Link); + const to = link.prop('to'); + + expect(link).toHaveLength(1); + expect(to).toEqual(expectedLink); + }); +});