From e4ab7040e3058cb86d9566b789444b612d543c39 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:14:05 +0100 Subject: [PATCH] Ajout des TU GetParagraph pour le ParagrphController --- API_SQLuedo/Dto/ParagraphDTO.cs | 36 +++++- .../ParagraphDto.EqualityComparer.cs | 22 ++++ API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 119 ++++++++++++++++++ API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 52 ++++---- 4 files changed, 202 insertions(+), 27 deletions(-) create mode 100644 API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs create mode 100644 API_SQLuedo/TestAPI/ParagraphsUnitTest.cs diff --git a/API_SQLuedo/Dto/ParagraphDTO.cs b/API_SQLuedo/Dto/ParagraphDTO.cs index 9e08d8f..93a063b 100644 --- a/API_SQLuedo/Dto/ParagraphDTO.cs +++ b/API_SQLuedo/Dto/ParagraphDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class ParagraphDTO : ContentLessonDTO +public class ParagraphDTO : ContentLessonDTO, IEquatable { public string Title { get; set; } public string Content { get; set; } @@ -34,4 +34,38 @@ public class ParagraphDTO : ContentLessonDTO public ParagraphDTO() : base() { } + + public override string ToString() + { + return $"{Id}\t{Title}\t{Content}\t{Info}\t{Query}\t{Comment}"; + } + + public override bool Equals(object right) + { + if (object.ReferenceEquals(right, null)) + { + return false; + } + + if (object.ReferenceEquals(this, right)) + { + return true; + } + + if (this.GetType() != right.GetType()) + { + return false; + } + + return this.Equals(right as ParagraphDTO); + } + public bool Equals(ParagraphDTO other) + { + return (this.Id == other.Id); + } + + public override int GetHashCode() + { + return Id; + } } \ No newline at end of file diff --git a/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs new file mode 100644 index 0000000..a590d5a --- /dev/null +++ b/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs @@ -0,0 +1,22 @@ +using Dto; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace TestAPI.Extensions +{ + class ParagraphIdEqualityComparer : EqualityComparer + { + public override bool Equals(ParagraphDTO x, ParagraphDTO y) + { + return x.Id == y.Id; + } + + public override int GetHashCode(ParagraphDTO obj) + { + return obj.Id; + } + } +} diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs new file mode 100644 index 0000000..1d6186a --- /dev/null +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -0,0 +1,119 @@ +using API.Controllers; +using Dto; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging.Abstractions; +using Moq; +using Shared; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TestAPI.Extensions; + +namespace TestAPI +{ + public class ParagraphsUnitTest + + { + private readonly Mock> paragraphService; + + public ParagraphsUnitTest() + { + paragraphService = new Mock>(); + } + + [Fact] + public void GetParagraphsListSuccess() + { + var paragraphsList = GetParagraphsData(); + paragraphService.Setup(x => x.GetParagraphs(1, 4, 0)) + .Returns(paragraphsList); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.GetParagraphs(1, 4, 0); + + if (paragraphsResult is OkObjectResult okObjectResult) + { + var valeur = okObjectResult.Value; + + Assert.NotNull(valeur); + Assert.Equal(GetParagraphsData().ToString(), valeur.ToString()); + Assert.True(paragraphsList.SequenceEqual(valeur as IEnumerable, new ParagraphIdEqualityComparer())); + + } + + } + + [Fact] + public void GetParagraphsListFail() + { + paragraphService.Setup(x => x.GetParagraphs(1, 4, 0)) + .Returns(new List()); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.GetParagraphs(1, 4, 0); + + if (paragraphsResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) + + { + + Assert.IsNotType(paragraphsResult); + } + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + private List GetParagraphsData() + { + List paragraphsData = new List(4) + { + new (0,"Titre 1","Le contenu","Les infos de ce paragraphes sont ","Select * from C#","Le commentaire",1), + new (1,"Le titre","pas contenu","Pas d'infos ici ","Delete * from Earth","Miam",2), + new (2,"Ceci n'est pas un titre","Certainement hmmm","OUOOOOO ","Autocommit = {true}","First",1), + new ("Title","Content","Je ne parle pas anglais","Select select from select","Mais qui est ce commentaire",3), + + + }; + return paragraphsData; + } + + } + + + +} + diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index 4033e10..c90e046 100644 --- a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -15,10 +15,10 @@ namespace TestAPI { public class SuccessesUnitTest { - private readonly Mock> sucessService; + private readonly Mock> successService; public SuccessesUnitTest() { - sucessService = new Mock>(); + successService = new Mock>(); } @@ -26,9 +26,9 @@ namespace TestAPI public void GetSuccessesListSuccess() { var successesList = GetSuccessesData(); - sucessService.Setup(x => x.GetSuccesses(1, 4, 0)) + successService.Setup(x => x.GetSuccesses(1, 4, 0)) .Returns(successesList); - var successesController = new SuccessesController(sucessService.Object, new NullLogger()); + var successesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = successesController.GetSuccesses(1, 4, 0); @@ -47,9 +47,9 @@ namespace TestAPI [Fact] public void GetSuccessesListFail() { - sucessService.Setup(x => x.GetSuccesses(1, 4, 0)) + successService.Setup(x => x.GetSuccesses(1, 4, 0)) .Returns(new List()); - var successesController = new SuccessesController(sucessService.Object, new NullLogger()); + var successesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = successesController.GetSuccesses(2, 3, 0); @@ -67,9 +67,9 @@ namespace TestAPI public void GetSuccessInquiryIdSuccess() { var successesList = GetSuccessesData(); - sucessService.Setup(x => x.GetSuccessesByInquiryId(1)) + successService.Setup(x => x.GetSuccessesByInquiryId(1)) .Returns(new List { successesList[0], successesList[1] }); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByInquiryId(1); if (sucessesResult is OkObjectResult okObjectResult) @@ -100,9 +100,9 @@ namespace TestAPI public void GetSuccessInquiryIdFail() { var successesList = GetSuccessesData(); - sucessService.Setup(x => x.GetSuccessesByInquiryId(1)) + successService.Setup(x => x.GetSuccessesByInquiryId(1)) .Returns(new List { successesList[0], successesList[1] }); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByInquiryId(100); if (sucessesResult is NotFoundObjectResult NFObjectResult) @@ -121,9 +121,9 @@ namespace TestAPI public void GetSuccessUserIdSuccess() { var successesList = GetSuccessesData(); - sucessService.Setup(x => x.GetSuccessesByUserId(2)) + successService.Setup(x => x.GetSuccessesByUserId(2)) .Returns(new List { successesList[2], successesList[3] }); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByUserId(2); if (sucessesResult is OkObjectResult okObjectResult) @@ -152,9 +152,9 @@ namespace TestAPI public void GetSuccessUserIdFail() { var successesList = GetSuccessesData(); - sucessService.Setup(x => x.GetSuccessesByUserId(2)) + successService.Setup(x => x.GetSuccessesByUserId(2)) .Returns(new List { successesList[2], successesList[3] }); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByUserId(200); if (sucessesResult is NotFoundObjectResult NFObjectResult) @@ -173,9 +173,9 @@ namespace TestAPI [Fact] public void DeleteSuccessSuccess() { - sucessService.Setup(x => x.DeleteSuccess(1,1)) + successService.Setup(x => x.DeleteSuccess(1,1)) .Returns(true); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.DeleteSuccess(1,1); if (sucessesResult is OkObjectResult okObjectResult) @@ -191,9 +191,9 @@ namespace TestAPI [Fact] public void DeleteSuccessFail() { - sucessService.Setup(x => x.DeleteSuccess(1, 1)) + successService.Setup(x => x.DeleteSuccess(1, 1)) .Returns(true); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.DeleteSuccess(100, 278); if (sucessesResult is NotFoundObjectResult NFObjectResult) @@ -207,9 +207,9 @@ namespace TestAPI [Fact] public void CreateSuccessSuccess() { - sucessService.Setup(x => x.CreateSuccess(8,8,true)) + successService.Setup(x => x.CreateSuccess(8,8,true)) .Returns(new SuccessDTO(8,8,true)); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = SuccessesController.CreateSuccess(new SuccessDTO(8,8,true)); if (successesResult is CreatedResult createdObjectResult) @@ -227,9 +227,9 @@ namespace TestAPI [Fact] public void CreateSuccessFail() { - sucessService.Setup(x => x.CreateSuccess(8, 8, true)) + successService.Setup(x => x.CreateSuccess(8, 8, true)) .Returns(new SuccessDTO(8, 8, true)); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = SuccessesController.CreateSuccess(new SuccessDTO(882, 818, true)); @@ -245,9 +245,9 @@ namespace TestAPI [Fact] public void UpdateUserSuccess() { - sucessService.Setup(x => x.UpdateSuccess(1,1,new SuccessDTO(1,1,true))) + successService.Setup(x => x.UpdateSuccess(1,1,new SuccessDTO(1,1,true))) .Returns(new SuccessDTO(1, 1, true)); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDTO(1, 1, true)); if (successesResult is OkObjectResult okObjectResult) @@ -265,9 +265,9 @@ namespace TestAPI [Fact] public void UpdateUserFail() { - sucessService.Setup(x => x.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true))) + successService.Setup(x => x.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true))) .Returns(new SuccessDTO(1, 2, true)); - var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true));