import React from 'react'; import { render, screen } from '@testing-library/react'; import '@testing-library/jest-dom'; import GIFTTemplatePreview from 'src/components/GiftTemplate/GIFTTemplatePreview'; describe('GIFTTemplatePreview Component', () => { test('renders error message when questions contain invalid syntax', () => { render(); const errorMessage = screen.getByText(/Title ::, Category, Description, or Question formatted stem but ":" found./i); expect(errorMessage).toBeInTheDocument(); }); test('renders preview when valid questions are provided', () => { const questions = [ 'Stem1 {=ans1 ~ans2 ~ans3}', ]; render(); const previewContainer = screen.getByTestId('preview-container'); expect(previewContainer).toBeInTheDocument(); // const question1 = screen.getByText('Stem1'); const mcQuestion1 = screen.getByText('Stem1'); const ans1 = screen.getByText('ans1'); const ans2 = screen.getByText('ans2'); const ans3 = screen.getByText('ans3'); expect(mcQuestion1).toBeInTheDocument(); expect(ans1).toBeInTheDocument(); expect(ans2).toBeInTheDocument(); expect(ans3).toBeInTheDocument(); // each answer should have a radio button before it const radioButtons = screen.getAllByRole('radio'); expect(radioButtons).toHaveLength(3); // ans1 should be the