From e06242e19b562c6157df19b0483ac1e65d7e1461 Mon Sep 17 00:00:00 2001 From: kevkevin Date: Tue, 19 Dec 2023 23:38:24 -0600 Subject: [PATCH] feat: added component tests for leaderboardItem and Button --- frontend/app/jest.config.json | 2 +- .../app/src/components/common/Button.spec.tsx | 39 +++++++++++++++++++ .../leaderboardItem/LeaerboardItem.spec.tsx | 39 +++++++++++++++++++ .../src/leaderboard/leaderboardItem/index.tsx | 12 +++--- .../app/src/leaderboard/userInfo/index.tsx | 8 ++-- 5 files changed, 89 insertions(+), 11 deletions(-) create mode 100644 frontend/app/src/components/common/Button.spec.tsx create mode 100644 frontend/app/src/leaderboard/leaderboardItem/LeaerboardItem.spec.tsx diff --git a/frontend/app/jest.config.json b/frontend/app/jest.config.json index 00e95cdcc..dab767644 100644 --- a/frontend/app/jest.config.json +++ b/frontend/app/jest.config.json @@ -27,7 +27,7 @@ "lines": 0 }, "./src/leaderboard/": { - "lines": 16 + "lines": 46 }, "./src/pages/": { "lines": 0 diff --git a/frontend/app/src/components/common/Button.spec.tsx b/frontend/app/src/components/common/Button.spec.tsx new file mode 100644 index 000000000..3375a42a4 --- /dev/null +++ b/frontend/app/src/components/common/Button.spec.tsx @@ -0,0 +1,39 @@ +import '@testing-library/jest-dom'; +import { render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event' +import nock from 'nock'; +import React from 'react'; +import { setupStore } from '../../__test__/__mockData__/setupStore'; +import { user } from '../../__test__/__mockData__/user'; +import { mockUsehistory } from '../../__test__/__mockFn__/useHistory'; +import Button from './Button'; + +beforeAll(() => { + nock.disableNetConnect(); + setupStore(); + mockUsehistory(); +}); + +/** + * @jest-environment jsdom + */ +describe('Button Component', () => { + nock(user.url).get('/person/id/1').reply(200, {}); + test('display text and click button', async () => { + const queryByTextValue = "queryByText" + const mockOnClick = jest.fn() + + render(