From 3ee4dfbb20277c500a492b66a5d3b614cd0a91a7 Mon Sep 17 00:00:00 2001 From: by183440 Date: Sat, 19 Nov 2022 00:13:08 +0100 Subject: [PATCH] Ajout des tests pour Question. --- graphql/test/index.test.js | 159 ++++++++++++++++++++++++++++++++++++- 1 file changed, 158 insertions(+), 1 deletion(-) diff --git a/graphql/test/index.test.js b/graphql/test/index.test.js index 3b7b0fb..f6bd919 100644 --- a/graphql/test/index.test.js +++ b/graphql/test/index.test.js @@ -9,7 +9,19 @@ const baseUrl = "http://localhost:3000/graphql/" const request = require("supertest")(baseUrl); const expect = chai.expect -const annonceid = "63769a23daa4338af7649271" +// modifier après le lancement des tests +const annonceid = "63780e03a5692cb54f91b4dc" + +const validAnnonce = "637808bff9608f006368f870" +const validUser = "636fd7d09e570c1dd5d2dad9" +const validQuestion = "6377f7e93f5abc7f238d0092" + +const invalidId = "1" + +const invalidUserIDObject = "63750ebdb767cfbd55ba1d8a" +const invalidAnnonceIDObject = "636fd7d09e570c1dd5d2dad9" + +const validQuestionDelete = "6378045049549e55ffcf4818" describe("Annonces", () => { it("query annonces", done => { @@ -164,4 +176,149 @@ describe("Annonces", () => { done() }) }) +}) +describe('Questions', ()=> { + it('query question', done => { + request + .post("/") + .send({ + query: "{questions{question}}" + }) + .set("Accept", "application/json") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.questions[0]).to.have.property('question') + done() + }) + }) + + it('mutation creer question', done => { + request + .post("/") + .send({ + query: `mutation{createQuestion(question:{idUtilisateur: "${validUser}", idAnnonce: "${validAnnonce}", question: "test B"}) }`, + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.createQuestion).to.equal("La question a bien été créée.") + done() + }) + }) + it("mutation creer question: l'idUtilisateur est incorrect", done => { + request + .post("/") + .send({ + query: `mutation{createQuestion(question:{idUtilisateur:"${invalidId}", idAnnonce: "${validAnnonce}", question: "test a"}) }` + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.createQuestion).to.equal("L'utilisateur n'existe pas") + done() + }) + }) + + it("mutation creer question: l'idAnnonce est incorrect", done => { + request + .post("/") + .send({ + query: `mutation{createQuestion(question:{idUtilisateur:"${validUser}", idAnnonce: "${invalidId}", question: "test a"}) }` + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.createQuestion).to.equal("L'annonce n'existe pas") + done() + }) + }) + + it("mutation creer question: l'idUtilisation est un objectiD incorrect", done => { + request + .post("/") + .send({ + query: `mutation{createQuestion(question:{idUtilisateur:"${invalidUserIDObject}", idAnnonce: "${validAnnonce}", question: "test a"}) }` + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.createQuestion).to.equal("L'utilisateur n'existe pas") + done() + }) + }) + + it("mutation creer question: l'idAnnonce est un objectiD incorrect", done => { + request + .post("/") + .send({ + query: `mutation{createQuestion(question:{idUtilisateur:"${validUser}", idAnnonce: "${invalidAnnonceIDObject}", question: "test a"}) }` + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.createQuestion).to.equal("L'annonce n'existe pas") + done() + }) + }) + + it('mutation update question ', done => { + request + .post("/") + .send({ + query: `mutation{updateQuestion(idQuestion:"${validQuestion}", question:"update test")}` + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.updateQuestion).to.equal(`La Question a bien été modifiée`) + + done() + }) + }) + it('mutation update : idQuestion invalid', done => { + request + .post("/") + .send({ + query: `mutation{updateQuestion(idQuestion:"${invalidId}", question:\"question error\")}` + }) + .set("Accept", "text/plain") + .expect(200) + .end((err, res) => { + if (err) return done(err); + expect(res.body.data.updateQuestion).to.equal(`La question ${invalidId} n'existe pas`) + + done() + }) + }) + it("mutation delete question: questionId valid", done =>{ + request + .post("/") + .send({query:`mutation{deleteQuestion(idQuestion:"${validQuestionDelete}")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.deleteQuestion).to.equal("La Question a bien été supprimée") + done() + }) + }) + it("mutation delete question: questionId invalid", done =>{ + request + .post("/") + .send({query:`mutation{deleteQuestion(idQuestion:"${invalidId}")}`}) + .set("Accept", "text/plain") + .expect(200) + .end((err,res) =>{ + if(err)return done(err); + expect(res.body.data.deleteQuestion).to.equal("La question n'existe pas") + done() + }) + }) }) \ No newline at end of file -- GitLab