Closed elainesoucy closed 2 years ago
C'est dommage -- j'avais changé ce test sur ma copie de solutionnaire, mais le changement ne s'est pas rendu dans le GitHub:
describe('public/lib/main.js', () => {
it("devrait utiliser fetch pour le bouton redémarrer", () => {
expect(content.includes(`document.getElementById("redemarrer").addEventListener("click", function () {`)).toBeTruthy();
expect(content.includes(`fetch("/api/v1/jeu/redemarrerJeu")`)).toBeTruthy();
});
});
Après un essaie, pour que ces deux tests passent, il faut ajouter les \ et enlever le { du premier test :
it("devrait utiliser fetch pour le bouton redémarrer", () => {
expect(content.includes('document.getElementById(\"redemarrer\").addEventListener(\"click\", function ()')).toBeTruthy();
expect(content.includes('fetch(\"/api/v1/jeu/redemarrerJeu\")')).toBeTruthy();
});
Attention aux apostrophes (backticks) et les strings en forme de template literal.
La version actuelle de l'énoncé propose:
document.getElementById("redemarrer").addEventListener("click", function () {
fetch("/api/v1/jeu/redemarrerJeu")
.then(function()
{
location.reload();
});
});
Je crois que le test va passer (en tout cas, ça passe sur ma machine).
Dans le fichier test/public-lib/main-lab0.test.ts on a le test suivant : it("devrait utiliser fetch pour le bouton redémarrer", () => { expect(content.includes("redemarrer.addEventListener(\"click\", function () {")).toBeTruthy(); expect(content.includes("fetch(\"/api/v1/jeu/redemarrerJeu\", {")).toBeTruthy(); });
Cela est problématique, car dans l'énoncé, on donne les lignes suivantes à ajouter dans main.js : document.getElementById("redemarrer").addEventListener("click", function () { fetch("/api/v1/jeu/redemarrerJeu") .then(function() { location.reload(); }); });
Les corrections à apporter qui permettent de faire passer les tests sont :
it("devrait utiliser fetch pour le bouton redémarrer", () => { expect(content.includes('document.getElementById(\"redemarrer\").addEventListener(\"click\", function ()')).toBeTruthy(); expect(content.includes('fetch(\"/api/v1/jeu/redemarrerJeu\")')).toBeTruthy(); });