From e31e70039d874efb5fa43e5ddd90e7dceaad5aa6 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 6 Jun 2020 12:16:19 +0200 Subject: [PATCH] Created GraphCard test --- test/visits/helpers/GraphCard.test.js | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 test/visits/helpers/GraphCard.test.js diff --git a/test/visits/helpers/GraphCard.test.js b/test/visits/helpers/GraphCard.test.js new file mode 100644 index 00000000..0c0baeb9 --- /dev/null +++ b/test/visits/helpers/GraphCard.test.js @@ -0,0 +1,49 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import { Card, CardBody, CardHeader, CardFooter } from 'reactstrap'; +import GraphCard from '../../../src/visits/helpers/GraphCard'; +import DefaultChart from '../../../src/visits/helpers/DefaultChart'; + +describe('', () => { + let wrapper; + const createWrapper = (title = '', footer) => { + wrapper = shallow(); + + return wrapper; + }; + + afterEach(() => wrapper && wrapper.unmount()); + + it('renders expected components', () => { + const wrapper = createWrapper(); + const card = wrapper.find(Card); + const header = wrapper.find(CardHeader); + const body = wrapper.find(CardBody); + const chart = wrapper.find(DefaultChart); + const footer = wrapper.find(CardFooter); + + expect(card).toHaveLength(1); + expect(header).toHaveLength(1); + expect(body).toHaveLength(1); + expect(chart).toHaveLength(1); + expect(footer).toHaveLength(0); + }); + + it.each([ + [ 'the title', 'the title' ], + [ () => 'the title from func', 'the title from func' ], + ])('properly renders title by parsing provided value', (title, expectedTitle) => { + const wrapper = createWrapper(title); + const header = wrapper.find(CardHeader); + + expect(header.html()).toContain(expectedTitle); + }); + + it('renders footer only when provided', () => { + const wrapper = createWrapper('', 'the footer'); + const footer = wrapper.find(CardFooter); + + expect(footer).toHaveLength(1); + expect(footer.html()).toContain('the footer'); + }); +});