import React from 'react';
import { describe, expect, mock, test } from 'bun:test';
import { renderToStaticMarkup } from 'react-dom/server';
import { I18nProvider } from '@/lib/i18n';
type MockDialogProps = React.PropsWithChildren<{ open?: boolean; className?: string }>;
mock.module('@/components/ui/dialog', () => ({
Dialog: ({ children, open = true }: MockDialogProps) => (open ? <>{children}> : null),
DialogContent: ({ children }: MockDialogProps) =>
{children}
,
DialogDescription: ({ children }: MockDialogProps) => {children}
,
DialogFooter: ({ children }: MockDialogProps) => {children}
,
DialogHeader: ({ children }: MockDialogProps) => {children}
,
DialogTitle: ({ children }: MockDialogProps) => {children}
,
}));
const { SaveProjectPlanDialog } = await import('./SaveProjectPlanDialog');
describe('SaveProjectPlanDialog', () => {
test('associates the title label with the title input', () => {
const markup = renderToStaticMarkup(
{}}
initialTitle="Implementation plan"
sourceText="Plan content"
onSave={() => {}}
/>
,
);
const labelMatch = markup.match(/