Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TECH] Suivi des tickets de refacto et d'écriture de tests #1014

Open
13 of 24 tasks
claire2212 opened this issue Nov 30, 2023 · 0 comments
Open
13 of 24 tasks

[TECH] Suivi des tickets de refacto et d'écriture de tests #1014

claire2212 opened this issue Nov 30, 2023 · 0 comments
Labels
EPIC tech. enhancement technical enhancement
Projects

Comments

@claire2212
Copy link
Collaborator

claire2212 commented Nov 30, 2023

Ecriture de tests E2E :

Autres:

@claire2212 claire2212 added the tech. enhancement technical enhancement label Dec 1, 2023
@claire2212 claire2212 added this to Backlog in Kanban Dec 1, 2023
@claire2212 claire2212 pinned this issue Dec 1, 2023
ivangabriele added a commit that referenced this issue Jan 30, 2024
- Conseil : checker les commits un par un pour ne pas mélanger
renommages et diffs, en particulier le 3ème qui est le seul à contenir
les changements de code.
- J'ai préféré les TODO et any à des refactos dangereuses. Il n'y a
normalement que peu de code "concret" modifié.
- J'ai supprimé quelques utils et une story au passage.
- Je ne comprends pas trop pourquoi on a un gros fichier JS pour les
drapeaux, il n'y a pas de lib pour ça ? On ne pourrait pas tout
simplement utiliser les emojis unicodes natifs (= gros gain de poids) ?

## Related Pull Requests & Issues

- #964
- #1014
- Resolve #1155

----

- [ ] Tests E2E (Cypress)
ivangabriele added a commit that referenced this issue Feb 9, 2024
## Taches effectuées

- Migration des imports SVG en tant que composants pour les adapter à
Vite.
- Séparation des envs Frontend des autres via un fichier
`/frontend/.env.example`
(⚠️ **qu'il faut maintenant copier localement dans un
`/frontend/.env`**).
- Injection des variables d'environnement Frontend au runtime (et non au
buildtime) via [`import-meta-env`](https://import-meta-env.org/), comme
sur MonitorFish. [Voir l'ADR
correspondant](https://github.com/MTES-MCT/monitorfish/blob/master/adrs/0001-frontend-runtime-env-var-injection.md).
- Création d'un utilitaire `isPuppeteer()` pour différencier les
conditions que l'on applique pour les tests Puppeteer de celles qu'on
applique aux tests Cypress. Même principe qu'avec `isCypress()`.
- Traduction à la volée des instructions de contribution legacy et
déplacement vers le fichier `CONTRIBUTING.md`.
- Début d'écriture des instructions de contribution mises à jour dans ce
même fichier, en anglais, pour faciliter le partage éventuel avec
d'autres équipes de l'UE.
- Remplacement de la commande `npm run cypress:open` par `npm run
test:e2e:open`.
- Petite refacto qui déplace les constantes de
`frontend/src/features/missions/MissionForm/sse.ts` dans un fichier
séparé pour éviter un import cycle.

~~Je me suis aussi permis de désactiver un des tests des points
d'întérêt parce qu'on est à près de 10% de failure, il y a au moins 4
bugs notables connus sur cette feature et Adeline a prévu de la revoir
entièrement.~~

![image](https://github.com/MTES-MCT/monitorenv/assets/5957876/4ce84534-2351-4bfe-8b17-decb6ea11c29)

## Notes

- GitGuardian râle pour une clé de dév qui était déjà présente mais qui
a été déplacée dans le nouveau ficher `fontend/.env.example`.
- Il y aura un soucis avec monitor-ui concernant `cy.fill()` lorsqu'on
passera à une der versions Rsuite `>5.45.0` qui casse la structure DOM
des fields en assignant l'attribut `id` au wrapper (`div`) au lieu de le
passer à l'input. Cet attribut est ciblé par attributs `for` des labels.
Je ferai le fix.
- Les tests e2e des missions sont localement instables à cause de
`clickOutside()` manquants ou qui ne ferment pas correctement certains
dropdowns. À investiguer ?

## Review

- Ca serait idéal si vous pouviez tester que tout fonctionne bien
localement chez vous. Env est assez léger pour tourner sur Chrome en
mode dev chez moi contrairement à Fish.
- Je vous conseille de cloner cette branche sous un autre dossier car le
switch entre CRA et Vite n'est pas fun d'une branche à l'autre.

## ⚠️ Derniers points à voir ensemble

- Faire le tour des impications staging / prod concernant les variables
d'environnement @louptheron @thoomasbro.
- Il n'y a pas de `FRONTEND_MISSION_FORM_AUTO_SAVE_ENABLED` dans le
docker compose de prod, c'est normal @louptheron ? Rien de problématique
mais juste pour être sûr.

## Related Pull Requests & Issues

- Resolve #964
- #1014

----

- [ ] Tests E2E (Cypress)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EPIC tech. enhancement technical enhancement
Projects
Kanban
Backlog
Development

No branches or pull requests

2 participants