diff --git a/src/components/pages/ContactPage/ContactPage.test.tsx b/src/components/pages/ContactPage/ContactPage.test.tsx
index 41b806d..e1f381d 100644
--- a/src/components/pages/ContactPage/ContactPage.test.tsx
+++ b/src/components/pages/ContactPage/ContactPage.test.tsx
@@ -1,41 +1,37 @@
import { screen } from '@testing-library/react'
-import userEvent from '@testing-library/user-event'
-import { renderWithRouter as render } from 'components/utils/tests'
-
-import ContactPage from '.'
+import { renderWithRouter as render } from 'components/utils/tests/index.js'
+import ContactPage from './index.js'
vi.stubGlobal('open', vi.fn())
describe('ContactPage', () => {
- const open = vi.spyOn(window, 'open')
-
test('renders without crashing and displays the correct contact methods', () => {
render()
expect(screen.getAllByText('Contacts')).toHaveLength(2) // Page title and the Appbar drawer link
- expect(screen.getByLabelText('Email button')).toBeInTheDocument()
- expect(screen.getByLabelText('LinkedIn button')).toBeInTheDocument()
- expect(screen.getByLabelText('GitHub button')).toBeInTheDocument()
+ expect(screen.getByLabelText('Email link')).toBeInTheDocument()
+ expect(screen.getByLabelText('LinkedIn link')).toBeInTheDocument()
+ expect(screen.getByLabelText('GitHub link')).toBeInTheDocument()
})
- test('opens the correct link when the email button is clicked', async () => {
+ test.each([
+ {
+ label: 'Email link',
+ href: 'mailto:info@m-tartari.eu',
+ },
+ // {
+ // label: 'LinkedIn link',
+ // href: 'https://www.linkedin.com/in/m-tartari/',
+ // },
+ // {
+ // label: 'GitHub link',
+ // href: 'https://www.github.com/m-tartari/',
+ // },
+ ])('leads to the right place when the $label is clicked', ({ label, href }) => {
render()
-
- await userEvent.click(screen.getByLabelText('Email button'))
- expect(open).toHaveBeenCalledWith('mailto:info@m-tartari.eu', '_blank')
- })
-
- test('opens the correct link when the LinkedIn button is clicked', async () => {
- render()
-
- await userEvent.click(screen.getByLabelText('LinkedIn button'))
- expect(open).toHaveBeenCalledWith('https://www.linkedin.com/in/m-tartari/', '_blank')
- })
-
- test('opens the correct link when the GitHub button is clicked', async () => {
- render()
-
- await userEvent.click(screen.getByLabelText('GitHub button'))
- expect(open).toHaveBeenCalledWith('https://www.github.com/m-tartari/', '_blank')
+ const link = screen.getByLabelText(label)
+ expect(link).toHaveAttribute('href', href)
+ expect(link).toHaveAttribute('target', '_blank')
+ expect(link).toHaveAttribute('rel', 'noopener noreferrer')
})
})