From d797387aa8c84197a304378acce03ffe5233302b Mon Sep 17 00:00:00 2001 From: by183440 Date: Sat, 19 Nov 2022 00:51:12 +0100 Subject: [PATCH] Ajout des tests pour Reponses. --- graphql/test/index.test.js | 198 +++++++++++++++++++++++++++++++++++-- 1 file changed, 189 insertions(+), 9 deletions(-) diff --git a/graphql/test/index.test.js b/graphql/test/index.test.js index f6bd919..989a660 100644 --- a/graphql/test/index.test.js +++ b/graphql/test/index.test.js @@ -10,18 +10,18 @@ const request = require("supertest")(baseUrl); const expect = chai.expect // modifier après le lancement des tests -const annonceid = "63780e03a5692cb54f91b4dc" +const annonceid = "6377f3562371d9e35a0a82d9" -const validAnnonce = "637808bff9608f006368f870" +const validAnnonce = "63780b6acd027c276ef75906" const validUser = "636fd7d09e570c1dd5d2dad9" -const validQuestion = "6377f7e93f5abc7f238d0092" +const validQuestion = "6376d16273bc22569e65a474" +const validReponse = "6378183fe46a2f9a901fbf9a" const invalidId = "1" +const invalidIDObject = "63750ebdb767cfbd55ba1d8a" -const invalidUserIDObject = "63750ebdb767cfbd55ba1d8a" -const invalidAnnonceIDObject = "636fd7d09e570c1dd5d2dad9" - -const validQuestionDelete = "6378045049549e55ffcf4818" +const validQuestionDelete = "6377f8903d263cabc0514671" +const validReponseDelete = "6378153fcd578ba51d52cb16" describe("Annonces", () => { it("query annonces", done => { @@ -241,7 +241,7 @@ describe('Questions', ()=> { request .post("/") .send({ - query: `mutation{createQuestion(question:{idUtilisateur:"${invalidUserIDObject}", idAnnonce: "${validAnnonce}", question: "test a"}) }` + query: `mutation{createQuestion(question:{idUtilisateur:"${invalidIDObject}", idAnnonce: "${validAnnonce}", question: "test a"}) }` }) .set("Accept", "text/plain") .expect(200) @@ -256,7 +256,7 @@ describe('Questions', ()=> { request .post("/") .send({ - query: `mutation{createQuestion(question:{idUtilisateur:"${validUser}", idAnnonce: "${invalidAnnonceIDObject}", question: "test a"}) }` + query: `mutation{createQuestion(question:{idUtilisateur:"${validUser}", idAnnonce: "${invalidIDObject}", question: "test a"}) }` }) .set("Accept", "text/plain") .expect(200) @@ -321,4 +321,184 @@ describe('Questions', ()=> { done() }) }) +}) +describe("Reponses", () =>{ + it('query Reponse', done =>{ + request + .post("/") + .send({ + query:"{reponses{reponse}}" + }) + .set("Accept", "application/json") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.reponses[0]).to.have.property('reponse') + done() + }) + }) + + it('mutation creer reponse', done =>{ + request + .post("/") + .send({query:`mutation{createReponse(utilisateurId: "${validUser}",questionId: "${validQuestion}",reponse: "repond 5")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.createReponse).to.equal("La réponse a bien été créée") + done() + }) + }) + + it("mutation creer reponse l'objetiD ne peut pas être créé", done =>{ + request + .post("/") + .send({query:`mutation{createReponse(utilisateurId: "${invalidIDObject}",questionId: "${validQuestion}",reponse: "repond 2 ")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.createReponse).to.equal("L'utilisateur n'existe pas") + done() + }) + }) + + it("mutation creer reponse l'utilisateur n'existe pas", done =>{ + request + .post("/") + .send({query:`mutation{createReponse(utilisateurId: "${invalidId}",questionId: "${validQuestion}",reponse: "repond 2")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.createReponse).to.equal("L'utilisateur n'existe pas") + done() + }) + }) + + it("mutation creer reponse l'objetiD ne peut pas être créé", done =>{ + request + .post("/") + .send({query:`mutation{createReponse(utilisateurId: "${validUser}",questionId: "${invalidId}",reponse: "repond 2")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.createReponse).to.equal("La question n'existe pas") + done() + }) + }) + + it("mutation creer reponse la question n'existe pas", done =>{ + request + .post("/") + .send({query:`mutation{createReponse(utilisateurId: "${validUser}",questionId: "${invalidIDObject}",reponse: "repond 2")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.createReponse).to.equal("La question n'existe pas") + done() + }) + }) + + it("mutation update reponse", done =>{ + request + .post("/") + .send({query:`mutation{updateReponse(reponseId:"${validReponse}", reponse:"maj Test")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.updateReponse).to.equal(`La réponse a bien été modifiée`) + done() + }) + }) + + it("mutation update reponse: reponseId invalid", done =>{ + request + .post("/") + .send({query:`mutation{updateReponse(reponseId:"${invalidId}", reponse:"maj Test")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.updateReponse).to.equal("La réponse n'existe pas") + done() + }) + }) + + it("mutation delete reponse: reponsId valid", done =>{ + request + .post("/") + .send({query:`mutation{deleteReponse(reponseId:"${validReponseDelete}")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + + expect(res.body.data.deleteReponse).to.equal("La réponse a bien été supprimée") + + done() + }) + }) + + it("mutation delete reponse: reponsId invalid", done =>{ + request + .post("/") + .send({query:`mutation{deleteReponse(reponseId:"${invalidId}")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.deleteReponse).to.equal("La réponse n'existe pas") + done() + }) + }) + + it('query searchReponse', done =>{ + request + .post("/") + .send({ + query:`{searchReponse(reponse:{_id:"${validReponse}",utilisateur:"${validUser}"}){ utilisateur{ username}}}` + }) + .set("Accept", "application/json") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body).to.be.a("object") + expect(res.body.data.searchReponse[0]).to.have.property("utilisateur") + done() + }) + }) + + it("query searchReponse _id invalid", done =>{ + request + .post("/") + .send({ + query:`{searchReponse(reponse:{_id:"${invalidId}",utilisateur:"${validUser}"}){ utilisateur{ username}}}` + }) + .set("Accept", "application/json") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.errors[0].message).to.equal("Unexpected error value: \"la réponse n'existe pas\"") + done() + }) + }) + it("query searchReponse utilisateur invalid", done =>{ + request + .post("/") + .send({ + query:`{searchReponse(reponse:{_id:"${validReponse}",utilisateur:"${invalidId}"}){ utilisateur{ username}}}` + }) + .set("Accept", "application/json") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.errors[0].message).to.equal("Unexpected error value: \"l'utilisateur n'existe pas\"") + done() + }) + }) }) \ No newline at end of file -- GitLab