✅ test(home): update unit tests

This commit is contained in:
2024-02-17 14:38:26 +01:00
parent abd1dd50a0
commit 0cb6c804a9
+11 -49
View File
@@ -1,60 +1,22 @@
import { describe, it, expect, afterEach } from 'vitest' import { screen } from '@testing-library/react'
import { render, screen, cleanup } from '@testing-library/react'
import userEvent from '@testing-library/user-event' import { renderWithRouter as render } from 'components/utils/tests'
import MainPage from './MainPage' import MainPage from './MainPage'
// Tests // Tests
describe('Renders main page correctly', async () => { describe('Main page', async () => {
/**
* Resets all renders after each test
*/
afterEach(() => {
cleanup()
})
/**
* Passes - shows title correctly
*/
it('Should render the page correctly', async () => { it('Should render the page correctly', async () => {
// Setup // Setup
await render(<MainPage />) await render(<MainPage />)
const h1 = await screen.queryByText('Vite + React')
// Post Expectations // Make sure the page title is correct
expect(h1).toBeInTheDocument() expect(screen.getByText('Robotics Engineer')).toBeInTheDocument()
})
/** // Make sure the project spotlights are present
* Passes - shows the button count correctly present expect(screen.getByText('LINFA: An Intuitive Block-Programming Interface for Reconfigurable Robots')).toBeInTheDocument()
*/ expect(screen.getByText("Revamping HHCM's Modular: Swift Generation of Modular Robot Models")).toBeInTheDocument()
it('Should show the button count set to 0', async () => { expect(screen.getByText('Automated Actuators and Robotic Modules Calibration')).toBeInTheDocument()
// Setup expect(screen.getByText('Voice Controlled Mobile Robot for Indoor Applications')).toBeInTheDocument()
await render(<MainPage />)
const button = await screen.queryByText('count is 0')
// Expectations
expect(button).toBeInTheDocument()
})
/**
* Passes - clicks the button 3 times and shows the correct count
*/
it('Should show the button count set to 3', async () => {
// Setup
const user = userEvent.setup()
await render(<MainPage />)
const button = await screen.queryByText('count is 0')
// Pre Expectations
expect(button).toBeInTheDocument()
// Actions
await user.click(button as HTMLElement)
await user.click(button as HTMLElement)
await user.click(button as HTMLElement)
// Post Expectations
expect(button?.innerHTML).toBe('count is 3')
}) })
}) })