/** * AdminDangerZonePanel Component Tests * * Tests for the AdminDangerZonePanel component that wraps the DangerZone UI component. * Tests cover rendering, props, and interaction behavior. */ import React from 'react'; import { render, screen } from '@testing-library/react'; import { AdminDangerZonePanel } from './AdminDangerZonePanel'; import { describe, it, expect, vi } from 'vitest'; // Mock the DangerZone UI component vi.mock('@/ui/DangerZone', () => ({ DangerZone: ({ title, description, children }: any) => (

{title}

{description}

{children}
), })); describe('AdminDangerZonePanel', () => { it('should render with title and description', () => { render( ); expect(screen.getByText('Delete Account')).toBeTruthy(); expect(screen.getByText('This action cannot be undone')).toBeTruthy(); }); it('should render children content', () => { render( ); expect(screen.getByTestId('danger-button')).toBeTruthy(); expect(screen.getByText('Delete')).toBeTruthy(); }); it('should render with minimal props', () => { render( ); expect(screen.getByText('Danger Zone')).toBeTruthy(); expect(screen.getByText('Proceed')).toBeTruthy(); }); it('should render multiple children', () => { render( ); expect(screen.getByText('Option 1')).toBeTruthy(); expect(screen.getByText('Option 2')).toBeTruthy(); expect(screen.getByText('Option 3')).toBeTruthy(); }); it('should render with complex children components', () => { const ComplexChild = () => (
Complex
); render( ); expect(screen.getByText('Complex')).toBeTruthy(); expect(screen.getByText('Click me')).toBeTruthy(); }); });