import { describe, expect, it } from 'vitest'; import { render } from '@testing-library/react'; import Mark from './Mark.js'; describe('Mark', () => { it('renders a hand with given name', () => { const { container } = render(); const mark = container.querySelector('.react-clock__mark'); const markBody = container.querySelector('.react-clock__mark__body'); expect(mark).toHaveClass('react-clock__minute-mark'); expect(markBody).toHaveClass('react-clock__minute-mark__body'); }); it('renders mark angled at 0° by default', () => { const { container } = render(); const mark = container.querySelector('.react-clock__mark'); expect(mark).toHaveStyle('transform: rotate(0deg)'); }); it('renders properly angled mark given angle prop', () => { const { container } = render(); const mark = container.querySelector('.react-clock__mark'); expect(mark).toHaveStyle('transform: rotate(15deg)'); }); it('renders mark with 10% length by default', () => { const { container } = render(); const markBody = container.querySelector('.react-clock__mark__body'); expect(markBody).toHaveStyle('bottom: 95%'); }); it('renders mark with proper length given length prop', () => { const { container } = render(); const markBody = container.querySelector('.react-clock__mark__body'); expect(markBody).toHaveStyle('bottom: 75%'); }); it('renders mark with 1px width by default', () => { const { container } = render(); const markBody = container.querySelector('.react-clock__mark__body'); expect(markBody).toHaveStyle('width: 1px'); }); it('renders mark with proper length given length prop', () => { const { container } = render(); const markBody = container.querySelector('.react-clock__mark__body'); expect(markBody).toHaveStyle('width: 5px'); }); it('renders number given number prop', () => { const { container } = render(); const markNumber = container.querySelector('.react-clock__mark__number'); expect(markNumber).toBeInTheDocument(); }); it('renders number angled at 0° by default', () => { const { container } = render(); const markNumber = container.querySelector('.react-clock__mark__number'); expect(markNumber).toHaveStyle('transform: rotate(-0deg)'); }); it('renders properly angled mark given angle prop', () => { const { container } = render(); const markNumber = container.querySelector('.react-clock__mark__number'); expect(markNumber).toHaveStyle('transform: rotate(-15deg)'); }); });