En attendant, une nouvelle image est disponible cicoub13/gladys:blinking-lights
. Ce qui a été corrigé est le fait que l’action soit bloquante.
Par exemple, si vous ajoutez une action « Envoyer un message », cela ne se fera qu’après que la lumière est finie de clignoter.
2 façons de résoudre ça
Déjà, si tu peux influer sur le temps dans les tests !
Sinon, tu peux utiliser des temps beaucoup plus petits dans tes tests pour que ça passe plus vite
J’étais parti sur l’option fake clock (qui me paraît plus simple) mais ça ne marchait pas. Je vais réessayer, merci
cce66
Février 15, 2024, 3:51
24
bonjour @cicoub13
Juste 2 petites remarques :
Pourquoi ne pas multiplier ta constante blinking_time directement dans sa déclaration pour éviter le calcul dans la boucle
const blinkingTime = action.blinking_time * 1000 ;
J’ai toujours utilisé des noms de variables doublée (ii aul lieu de i) c’est plus facile à tracer ensuite !
Pour le reste pas assez calé dans ce langage !
Salut @cicoub ,
Je ne sais pas si cela peut t’aider et si le cas de figure correspond :
server/test/services/netatmo/lib/netatmo.pollRefreshingValues.test.js
… j’espère …
J’ai galéré à le faire fonctionner. Mais avec un mix copilot / chatGPT / stackoverflow, ça a fonctionné avec cette combinaison (le 1er test notamment)
Tu remarqueras cette partie dans le 2ème test :
clock.tick(120 * 1000);
clock.restore();
// eslint-disable-next-line no-promise-executor-return
await new Promise((resolve) => setTimeout(resolve, 50));
Pour passer 120 secondes puis arrêter le clock et réaliser la Promesse. Ca ne fonctionnait pas sans le clock.restore() car ça rentre en conflit de gestion d’horloge (de ce que j’en ai compris… ^^)
1 « J'aime »
Ça marche avec les fake timers de SinonJS. J’ai dû mettre à jour en version 8.1.1 (précédemment 7.2.4 ) pour bénéficier de clock.tickAsync()
.
D’ailleurs, ils en sont à la version 17
Merci @Terdious et @pierre-gilles , c’était pas évident ces tests avec notion de temps
Je te préviens quand tout est prêt
2 « J'aime »
PR prête (fonctionnellement, développement, tests)
GladysAssistant:master
← cicoub13:feat-blinking-light-action
ouvert 08:34PM - 25 Jan 24 UTC
### Pull Request check-list
To ensure your Pull Request can be accepted as fa… st as possible, make sure to review and check all of these items:
- [x] If your changes affects code, did your write the tests?
- [x] Are tests passing? (`npm test` on both front/server)
- [x] Is the linter passing? (`npm run eslint` on both front/server)
- [x] Did you run prettier? (`npm run prettier` on both front/server)
- [x] If you are adding a new features/services, did you run integration comparator? (`npm run compare-translations` on front)
- [x] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community ([french forum](https://community.gladysassistant.com/)/[english forum](https://en-community.gladysassistant.com/)) for testing before merging.
NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
### Description of change
Please provide a description of the change here. It's always best with screenshots, so don't hesitate to add some!
3 « J'aime »
Merci pour la PR @cicoub13
J’ai trouvé un petit bug en faisant un test en réel :
GladysAssistant:master
← cicoub13:feat-blinking-light-action
opened 08:34PM - 25 Jan 24 UTC
### Pull Request check-list
To ensure your Pull Request can be accepted as fa… st as possible, make sure to review and check all of these items:
- [x] If your changes affects code, did your write the tests?
- [x] Are tests passing? (`npm test` on both front/server)
- [x] Is the linter passing? (`npm run eslint` on both front/server)
- [x] Did you run prettier? (`npm run prettier` on both front/server)
- [x] If you are adding a new features/services, did you run integration comparator? (`npm run compare-translations` on front)
- [x] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community ([french forum](https://community.gladysassistant.com/)/[english forum](https://en-community.gladysassistant.com/)) for testing before merging.
NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
### Description of change
Please provide a description of the change here. It's always best with screenshots, so don't hesitate to add some!
Mais rien de très grave, le comportement sinon marche bien !
1 « J'aime »
Merci pour le fix @cicoub13 ! C’est bon pour moi, c’est mergé sur master et ça partira dans la prochaine version de Gladys
4 « J'aime »
Cette fonctionnalité est disponible dans Gladys Assistant 4.38
Je ferme ce sujet pour libérer les votes, n’hésitez pas à créer d’autres sujets en cas de bugs/retours
Merci à @cicoub13 pour le développement
4 « J'aime »