diff --git a/src/client/components/ui/Select/Select.test.tsx b/src/client/components/ui/Select/Select.test.tsx
index 9a9c7e533b..3f15a2359b 100644
--- a/src/client/components/ui/Select/Select.test.tsx
+++ b/src/client/components/ui/Select/Select.test.tsx
@@ -3,438 +3,326 @@
*/
import '@testing-library/jest-dom';
-import { fireEvent, render, screen, waitFor, within } from '@testing-library/react';
+import { render, screen } from '@testing-library/react';
import { userEvent } from '@testing-library/user-event';
import React from 'react';
import { KeyBoard } from '~/client/components/keyboard.fixture';
import { Select } from '~/client/components/ui/Select/Select';
-import { mapTypeDeContratToOffreEmploiCheckboxFiltre } from '~/client/utils/offreEmploi.mapper';
-import { Offre } from '~/server/offres/domain/offre';
-describe('Select', () => {
- describe('Select Single', () => {
- it('quand on clique sur le select, retourne une liste d‘options', async () => {
- //GIVEN
- const user = userEvent.setup();
- render(
- ,
- );
-
- //WHEN
- const button = screen.getByRole('button', { name: 'Temps de travail' });
- await user.click(button);
- screen.getByRole('listbox');
-
- //THEN
- expect(screen.getByRole('radio', { name: 'Temps plein' })).toBeInTheDocument();
- expect(screen.getByRole('radio', { name: 'Temps partiel' })).toBeInTheDocument();
- expect(screen.getByRole('radio', { name: 'Indifférent' })).toBeInTheDocument();
- });
+describe('', () => {
+ describe('interaction support', () => {
+ describe('quand la liste d‘options est fermée', () => {
+ it('les options sont masquées', () => {
+ const options = [{ libellé: 'options 1', valeur: '1' }, { libellé: 'options 2', valeur: '2' }];
+ render();
+ expect(screen.queryByRole('option')).not.toBeInTheDocument();
+ });
+
+ it.todo('lorsque l‘utilisateur fait "fleche du bas", la liste d‘options s‘ouvre sans changer le focus ou changer de séléction');
+
+ it.todo('lorsque l‘utilisateur fait "Alt + fleche du bas", la liste d‘options s‘ouvre sans changer le focus ou changer de séléction');
+
+ it.todo('lorsque l‘utilisateur fait "fleche du haut", la liste d‘options s‘ouvre et le focus visuel est placé sur la première option');
- it('quand on sélectionne une valeur, met la valeur selectionné dans l‘input', async () => {
- //GIVEN
- render(
- ,
- );
-
- //WHEN
- const button = screen.getByRole('button', { name: 'Temps de travail' });
- fireEvent.click(button);
- const listbox = screen.getByRole('listbox');
- const input = within(listbox).getByRole('radio', { name: 'Temps plein' });
- fireEvent.click(input);
-
- //THEN
- await waitFor(async () => {
- const placeholder = await screen.findByTestId('Select-Placeholder');
- expect(placeholder.textContent).toEqual('Temps plein');
+ describe('lorsque l‘utilisateur fait "Entrer"', () => {
+ it('ouvre la liste d‘options', async () => {
+ const user = userEvent.setup();
+ const options = [{ libellé: 'options 1', valeur: '1' }, { libellé: 'options 2', valeur: '2' }];
+ render(