-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: added component tests for leaderboardItem and Button
- Loading branch information
1 parent
33b636c
commit e06242e
Showing
5 changed files
with
89 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,7 +27,7 @@ | |
"lines": 0 | ||
}, | ||
"./src/leaderboard/": { | ||
"lines": 16 | ||
"lines": 46 | ||
}, | ||
"./src/pages/": { | ||
"lines": 0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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(<Button id={"1"} icon={""} height={10} width={10} disabled={false} color={"green"} leadingIcon={""} text={queryByTextValue} onClick={mockOnClick}/>); | ||
|
||
//Expect text to be there | ||
expect(screen.queryByText(queryByTextValue)).toBeInTheDocument(); | ||
|
||
await userEvent.click( | ||
screen.getByText(queryByTextValue), | ||
) | ||
|
||
//If we click on text it should register click | ||
expect(mockOnClick).toHaveBeenCalledTimes(1) | ||
}); | ||
}); | ||
|
39 changes: 39 additions & 0 deletions
39
frontend/app/src/leaderboard/leaderboardItem/LeaerboardItem.spec.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 { LeaerboardItem } from './index'; | ||
|
||
beforeAll(() => { | ||
nock.disableNetConnect(); | ||
setupStore(); | ||
mockUsehistory(); | ||
}); | ||
|
||
/** | ||
* @jest-environment jsdom | ||
*/ | ||
describe('LeaerboardItem Component', () => { | ||
const owner_pubkey = "123456789" | ||
nock(user.url).get(`/person/id/1`).reply(200, {}); | ||
nock(user.url).get(`/person/${owner_pubkey}`).reply(200, {}); | ||
test('display leaderboard item with correct info', async () => { | ||
const mockOnClick = jest.fn() | ||
const convertedDollarAmount = "1 000" | ||
const props = { owner_pubkey: owner_pubkey, total_sats_earned: 1000, position: 1, total_bounties_completed: 1 } | ||
|
||
const leaderboardItemRender = render(<LeaerboardItem key={0} {...props} />); | ||
|
||
//Expect converted dollar amount to be there | ||
expect(screen.queryByText(convertedDollarAmount)).toBeInTheDocument(); | ||
expect(screen.queryByText("SAT")).toBeInTheDocument(); | ||
expect(screen.queryByText(`#${props.position}`)).toBeInTheDocument(); | ||
//expect(screen.queryByText(owner_pubkey)).toBeInTheDocument(); | ||
}); | ||
}); | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters