Skip to content

Commit 791f7bd

Browse files
authored
fix: sonar coverage (#2765)
1 parent 913b9f6 commit 791f7bd

3 files changed

Lines changed: 36 additions & 14 deletions

File tree

.github/workflows/analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ jobs:
7575
dir: frontend
7676
node_version: "22"
7777
sonar_args: >
78-
-Dsonar.exclusions=**/coverage/**,**/node_modules/**,**/*spec.ts
78+
-Dsonar.exclusions=**/coverage/**,**/node_modules/**,**/*spec.ts,**/*test.tsx
7979
-Dsonar.organization=bcgov-sonarcloud
8080
-Dsonar.projectKey=quickstart-openshift_frontend
8181
-Dsonar.sources=src
82-
-Dsonar.test.inclusions=**/*spec.ts
82+
-Dsonar.test.inclusions=**/*spec.ts,**/*test.tsx
8383
-Dsonar.javascript.lcov.reportPaths=./coverage/lcov.info
8484
sonar_token: ${{ env.sonar_token }}
8585
dep_scan: warn
Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { vi } from 'vitest'
2-
import { render, screen } from '@testing-library/react'
2+
import { render, screen, waitFor } from '@testing-library/react'
3+
import userEvent from '@testing-library/user-event'
34
import Dashboard from '@/components/Dashboard'
45

56
vi.mock('@tanstack/react-router', () => ({
@@ -8,12 +9,24 @@ vi.mock('@tanstack/react-router', () => ({
89

910
describe('Dashboard', () => {
1011
test('renders a heading with the correct text', () => {
11-
const navigate = vi.fn()
12-
const useNavigateMock = vi.fn(() => navigate)
13-
vi.doMock('@tanstack/react-router', () => ({
14-
useNavigate: useNavigateMock,
15-
}))
1612
render(<Dashboard />)
1713
expect(screen.getByText(/Employee ID/i)).toBeInTheDocument()
1814
})
15+
16+
test('opens and closes the row details modal', async () => {
17+
const user = userEvent.setup()
18+
render(<Dashboard />)
19+
20+
// Wait for the mocked user data to load and render the View Details button.
21+
const viewDetailsButton = await screen.findByRole('button', { name: /view details/i })
22+
await user.click(viewDetailsButton)
23+
24+
expect(screen.getByText(/Row Details/i)).toBeInTheDocument()
25+
26+
const closeButtons = screen.getAllByRole('button', { name: 'Close' })
27+
await user.click(closeButtons.at(-1)!)
28+
await waitFor(() => {
29+
expect(screen.queryByText(/Row Details/i)).not.toBeInTheDocument()
30+
})
31+
})
1932
})
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
11
import { vi } from 'vitest'
22
import { render, screen } from '@testing-library/react'
3+
import userEvent from '@testing-library/user-event'
34
import NotFound from '@/components/NotFound'
45

6+
const navigate = vi.fn()
7+
58
vi.mock('@tanstack/react-router', () => ({
6-
useNavigate: vi.fn(),
9+
useNavigate: () => navigate,
710
}))
811

912
describe('NotFound', () => {
13+
beforeEach(() => {
14+
navigate.mockClear()
15+
})
16+
1017
test('renders a heading with the correct text', () => {
11-
const navigate = vi.fn()
12-
const useNavigateMock = vi.fn(() => navigate)
13-
vi.doMock('@tanstack/react-router', () => ({
14-
useNavigate: useNavigateMock,
15-
}))
1618
render(<NotFound />)
1719
const headingElement = screen.getByRole('heading', { name: /404/i })
1820
expect(headingElement).toBeInTheDocument()
1921
})
22+
23+
test('navigates home when the Back Home button is clicked', async () => {
24+
const user = userEvent.setup()
25+
render(<NotFound />)
26+
await user.click(screen.getByRole('button', { name: /back home/i }))
27+
expect(navigate).toHaveBeenCalledWith({ to: '/' })
28+
})
2029
})

0 commit comments

Comments
 (0)