26 lines
940 B
TypeScript
26 lines
940 B
TypeScript
import { render, screen } from '@testing-library/react'
|
|
import { describe, it, expect } from 'vitest'
|
|
import Home from '../app/page'
|
|
|
|
describe('Home Page', () => {
|
|
it('renders the hero section with correct title', () => {
|
|
render(<Home />)
|
|
expect(screen.getByText(/Spezialisierter Partner für Energiekabelprojekte/i)).toBeInTheDocument()
|
|
})
|
|
|
|
it('contains the CTA button', () => {
|
|
render(<Home />)
|
|
const ctaButton = screen.getByRole('link', { name: /Projekt anfragen/i })
|
|
expect(ctaButton).toBeInTheDocument()
|
|
expect(ctaButton).toHaveAttribute('href', '/kontakt')
|
|
})
|
|
|
|
it('renders the portfolio section', () => {
|
|
render(<Home />)
|
|
expect(screen.getByText(/Unsere Leistungen/i)).toBeInTheDocument()
|
|
// Use getAllByText because it appears in both hero description and card title
|
|
const elements = screen.getAllByText(/Technische Beratung/i)
|
|
expect(elements.length).toBeGreaterThan(0)
|
|
})
|
|
})
|