Cypress Frontend Tests

Salut @AlexTrovato :wave:

J’ai testé aujourd’hui la branche Cypress que tu as développé et ça marche bien :slight_smile:
J’ai commencé à tester le front du service Tp-Link et j’arrive à bien avancer. La partie fixture/mock des appels backend est un peu plus complexe mais ça marche aussi.
Je pense qu’il faut vraiment se mettre en mode TDD pour écrire ce genre de tests.

Pour la partie API backend, on veut tester que le core ? Le reste (services) est trop lié au matériel donc on veut tout mocker, c’est ça ?

Je pense qu’il y a une erreur entre la doc et la commande dans le package.json pour lancer le server pour les tests cypress (npm run start:cypress <=> npm run cypress:start)

Merci pour le boulot :clap: et hâte de voir ça dans la CI et dans le coverage :rocket:

Super, bonnes nouvelles.

Oui ce sera plus simple pour mettre en place nos tests, et aussi pour valider nos devs.

Ce serait bien de tester le core au maximum. Mais en effet, pour les interactions avec les devices, c’est compliqué, donc il faut tenter de mocker uniquement les WebServices faisant appel aux vrais services.
Si on fait sur une page de config (comme pour le Bluetooth et la fréquence se scan, qui ne fait qu’enregistrer des param en base de données).

Le script npm run cypress:start ne devrait pas être sur le fichier package.json de la racine, et la doc précise qu’il faut se placer à la racine de Gladys (ni sur front, ni sur server).
(oui je sais cypress:start vs start:cypress, j’ai tenté de suivre la “logique” déjà en place, mais tout est changeable :slight_smile: ).

Avec ma PR, la CI exécute déjà les tests (bloquant en cas d’erreur), ne manque que la couverture.

Merci d’avoir essayer, avec @pierre-gilles on avait convenu que je devais tester le composant “react-select” qui est un peu particulier (afin de fournir la technique à appliquer), et de laisser la communauté jouer avec avant de merger, puis merger petits bouts par petits bouts, afin d’éviter l’effet tunnel (et j’avoue que bosser 5 jours d’affiler dessus, ça use).

1 Like

@AlexTrovato Du coup tu pense que je peux merger soon la PR cypress? Je pense comme on s’est dit qu’on peut le merger même si tout n’est pas couvert, comme ça au moins la structure est sur master et on peut se baser dessus pour faire des PRs qui ajoute du coverage :slight_smile:

Oui on peut, si elle passe,je suis pas sur d’avoir un rebase récent.
On complavec le temps, tout comme tu dis, ça me va.