From 34e216546151eaf8a0a3cbb0bc8b65dae4c63bf2 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Mon, 23 May 2022 14:07:02 +0200 Subject: refactor: reduce the number of data transformation --- src/components/organisms/layout/summary.test.tsx | 44 ++++++------------------ 1 file changed, 10 insertions(+), 34 deletions(-) (limited to 'src/components/organisms/layout/summary.test.tsx') diff --git a/src/components/organisms/layout/summary.test.tsx b/src/components/organisms/layout/summary.test.tsx index 9e34254..7617c26 100644 --- a/src/components/organisms/layout/summary.test.tsx +++ b/src/components/organisms/layout/summary.test.tsx @@ -1,35 +1,12 @@ import { render, screen } from '@test-utils'; import Summary from './summary'; - -const cover = { - alt: 'A cover', - height: 480, - src: 'http://placeimg.com/640/480', - width: 640, -}; - -const excerpt = - 'Perspiciatis quasi libero nemo non eligendi nam minima. Deleniti expedita tempore. Praesentium explicabo molestiae eaque consectetur vero. Quae nostrum quisquam similique. Ut hic est quas ut esse quisquam nobis.'; - -const meta = { - dates: { publication: '2022-04-11' }, - readingTime: { wordsCount: excerpt.split(' ').length }, - thematics: [ - { id: 'cat-1', name: 'Cat 1', url: '#' }, - { id: 'cat-2', name: 'Cat 2', url: '#' }, - ], - commentsCount: 1, -}; - -const title = 'Odio odit necessitatibus'; - -const url = '#'; +import { cover, intro, meta, title, url } from './summary.fixture'; describe('Summary', () => { it('renders a title wrapped in a h2 element', () => { render( { }); it('renders an excerpt', () => { - render(); - expect(screen.getByText(excerpt)).toBeInTheDocument(); + render(); + expect(screen.getByText(intro)).toBeInTheDocument(); }); it('renders a cover', () => { render( @@ -60,19 +36,19 @@ describe('Summary', () => { }); it('renders a link to the full post', () => { - render(); + render(); expect(screen.getByRole('link', { name: title })).toBeInTheDocument(); }); it('renders a read more link', () => { - render(); + render(); expect( screen.getByRole('link', { name: `Read more about ${title}` }) ).toBeInTheDocument(); }); it('renders some meta', () => { - render(); - expect(screen.getByText(meta.thematics[0].name)).toBeInTheDocument(); + render(); + expect(screen.getByText(meta.thematics![0].name)).toBeInTheDocument(); }); }); -- cgit v1.2.3