import { render, screen } from '@testing-library/react'; import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; import { useSignatureContext } from '../components/SignatureProvider'; import { SignatureStatus } from '../components/SignatureStatus'; vi.mock('../components/SignatureProvider', () => ({ useSignatureContext: vi.fn(), })); vi.mock('../components/SignatureLabel', () => ({ SignatureLabel: vi.fn(() =>
SignatureLabel
), })); describe('SignatureStatus', () => { beforeEach(() => { (useSignatureContext as Mock).mockReturnValue({ lifecycleStatus: { statusName: 'init', }, }); }); it('should render default children', () => { render(); expect(screen.getByText('SignatureLabel')).toBeInTheDocument(); }); it('should render passed in children', () => { render(
Custom Child
, ); expect(screen.getByText('Custom Child')).toBeInTheDocument(); }); it('should render error className', () => { (useSignatureContext as Mock).mockReturnValue({ lifecycleStatus: { statusName: 'error', }, }); render(); expect(screen.getByText('SignatureLabel').parentElement).toHaveClass( 'text-ock-error', ); }); it('should set custom className', () => { render(); expect(screen.getByText('SignatureLabel').parentElement).toHaveClass( 'custom-class', ); }); });