diff --git a/client/babel.config.cjs b/client/babel.config.cjs
index 2bda178..eae7944 100644
--- a/client/babel.config.cjs
+++ b/client/babel.config.cjs
@@ -1,4 +1,4 @@
-/* eslint-disable no-undef */
+
module.exports = {
presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-typescript']
};
diff --git a/client/jest.config.cjs b/client/jest.config.cjs
index 6c635c8..b2d35cc 100644
--- a/client/jest.config.cjs
+++ b/client/jest.config.cjs
@@ -1,4 +1,4 @@
-/* eslint-disable no-undef */
+
/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
diff --git a/client/jest.setup.cjs b/client/jest.setup.cjs
index 30fd66a..3b56b65 100644
--- a/client/jest.setup.cjs
+++ b/client/jest.setup.cjs
@@ -1,3 +1,3 @@
-/* eslint-disable no-undef */
+
process.env.VITE_BACKEND_URL = 'http://localhost:4000/';
process.env.VITE_BACKEND_SOCKET_URL = 'https://ets-glitch-backend.glitch.me/';
diff --git a/client/src/__tests__/Types/StudentType.test.tsx b/client/src/__tests__/Types/StudentType.test.tsx
index 4e7c849..2f9efbe 100644
--- a/client/src/__tests__/Types/StudentType.test.tsx
+++ b/client/src/__tests__/Types/StudentType.test.tsx
@@ -12,6 +12,6 @@ describe('StudentType', () => {
expect(user.name).toBe('Student');
expect(user.id).toBe('123');
- expect(user.answers.length).toBe(0);
+ expect(user.answers).toHaveLength(0);
});
});
diff --git a/client/src/__tests__/components/GiftTemplate/GIFTTemplatePreview.test.tsx b/client/src/__tests__/components/GiftTemplate/GIFTTemplatePreview.test.tsx
index 586c8d1..967d33c 100644
--- a/client/src/__tests__/components/GiftTemplate/GIFTTemplatePreview.test.tsx
+++ b/client/src/__tests__/components/GiftTemplate/GIFTTemplatePreview.test.tsx
@@ -5,47 +5,64 @@ import GIFTTemplatePreview from 'src/components/GiftTemplate/GIFTTemplatePreview
describe('GIFTTemplatePreview Component', () => {
test('renders error message when questions contain invalid syntax', () => {
- render();
- const errorMessage = screen.findByText(/Erreur inconnue/i, {}, { timeout: 5000 });
- expect(errorMessage).resolves.toBeInTheDocument();
+ 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 = [
- 'Question 1 { A | B | C }',
- 'Question 2 { D | E | F }',
+ '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