31 lines
1021 B
TypeScript
31 lines
1021 B
TypeScript
|
|
import { describe, it, expect } from 'vitest'
|
||
|
|
import { render, screen } from '@testing-library/react'
|
||
|
|
import { UtilityBar } from './UtilityBar'
|
||
|
|
|
||
|
|
describe('UtilityBar', () => {
|
||
|
|
describe('rendering', () => {
|
||
|
|
it('renders "Contact" label', () => {
|
||
|
|
render(<UtilityBar />)
|
||
|
|
expect(screen.getByText('Contact')).toBeInTheDocument()
|
||
|
|
})
|
||
|
|
|
||
|
|
it('renders email link with correct href', () => {
|
||
|
|
render(<UtilityBar />)
|
||
|
|
const link = screen.getByRole('link', { name: 'hello@allmy.work' })
|
||
|
|
expect(link).toBeInTheDocument()
|
||
|
|
expect(link).toHaveAttribute('href', 'mailto:hello@allmy.work')
|
||
|
|
})
|
||
|
|
|
||
|
|
it('renders "Download CV" button', () => {
|
||
|
|
render(<UtilityBar />)
|
||
|
|
expect(screen.getByRole('button', { name: /download cv/i })).toBeInTheDocument()
|
||
|
|
})
|
||
|
|
|
||
|
|
it('Download CV button has primary variant class', () => {
|
||
|
|
render(<UtilityBar />)
|
||
|
|
const btn = screen.getByRole('button', { name: /download cv/i })
|
||
|
|
expect(btn).toHaveClass('bg-burnt-oxide')
|
||
|
|
})
|
||
|
|
})
|
||
|
|
})
|