From 1527da5a3b140392148b8396e2453a7685d82950 Mon Sep 17 00:00:00 2001 From: Damian Kalka Date: Sun, 3 Jan 2021 21:47:59 +0100 Subject: [PATCH 1/2] change prettier rule --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index e361d3a..a339df4 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -20,7 +20,7 @@ }, "plugins": ["react", "prettier"], "rules": { - "prettier/prettier": "error", + "prettier/prettier": ["error", { "endOfLine": "auto" }], "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], "react/prop-types": 0 } From 2c9a88a45328df521b1333f942ac63fd6467c213 Mon Sep 17 00:00:00 2001 From: Damian Kalka Date: Sun, 3 Jan 2021 21:48:25 +0100 Subject: [PATCH 2/2] add tests to ListingItem component --- .../logic-components/listing-item.js | 9 +++-- .../logic-components/listing-item.test.js | 35 ++++++++++++++++++- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/hackathons-collector/logic-components/listing-item.js b/src/hackathons-collector/logic-components/listing-item.js index 4c0f626..59880fe 100644 --- a/src/hackathons-collector/logic-components/listing-item.js +++ b/src/hackathons-collector/logic-components/listing-item.js @@ -17,7 +17,7 @@ const ListingItem = ({ return (
-
+
@{location} {tags.map((tag) => ( #{tag} @@ -42,7 +42,12 @@ const ListingItem = ({ {disabled ? ( '' ) : ( - + website )} diff --git a/src/hackathons-collector/logic-components/listing-item.test.js b/src/hackathons-collector/logic-components/listing-item.test.js index 4d2a9c0..d27c356 100644 --- a/src/hackathons-collector/logic-components/listing-item.test.js +++ b/src/hackathons-collector/logic-components/listing-item.test.js @@ -1 +1,34 @@ -test.todo('test'); +import React from 'react'; +import { render, screen } from '@testing-library/react'; +// import userEvent from '@testing-library/user-event'; +import moment from 'moment'; +import 'moment/locale/en-gb'; +import ListingItem from './listing-item'; + +const event = { + date: '25.03.2021', + title: 'hackathon', + tags: ['hello', 'js'], + location: 'Poznan', + description: 'pierwszy w 2021', + url: 'https://reactywny.pl', +}; + +test('check ListingItem component render', () => { + render(); + + expect(screen.getByText(`@${event.location}`)).toBeInTheDocument(); + expect(screen.getByText(event.title)).toBeInTheDocument(); + expect(screen.getByText(event.description)).toBeInTheDocument(); + expect( + screen.getByText(moment(event.date).format('dddd')) + ).toBeInTheDocument(); +}); + +test('check tag array render', () => { + render(); + + event.tags.forEach((tag) => { + expect(screen.getByText(`#${tag}`)).toBeInTheDocument(); + }); +});