From 44b56dee9316f11e846e0e3093f8f9b2a3f5ab25 Mon Sep 17 00:00:00 2001 From: masapountz Date: Tue, 27 Feb 2024 19:58:33 +0100 Subject: [PATCH 01/50] =?UTF-8?q?D=C3=A9but=20des=20tests=20unitaires=20su?= =?UTF-8?q?r=20le=20service=20de=20l'API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SQLuedoDB/InquiryEntity.cs | 2 +- API_SQLuedo/TestAPI/TestAPI.csproj | 4 +++ API_SQLuedo/TestAPI/UnitTest1.cs | 11 ------- API_SQLuedo/TestAPI/UserUnitTest.cs | 29 +++++++++++++++++++ 4 files changed, 34 insertions(+), 12 deletions(-) delete mode 100644 API_SQLuedo/TestAPI/UnitTest1.cs create mode 100644 API_SQLuedo/TestAPI/UserUnitTest.cs diff --git a/API_SQLuedo/EntityFramework/SQLuedoDB/InquiryEntity.cs b/API_SQLuedo/EntityFramework/SQLuedoDB/InquiryEntity.cs index 4d73630..e364a14 100644 --- a/API_SQLuedo/EntityFramework/SQLuedoDB/InquiryEntity.cs +++ b/API_SQLuedo/EntityFramework/SQLuedoDB/InquiryEntity.cs @@ -8,7 +8,7 @@ namespace Entities.SQLuedoDB { public class InquiryEntity { - public int Id { get; } + public int Id { get; set; } public string Title { get; set; } public string Description { get; set; } public bool IsUser { get; set; } diff --git a/API_SQLuedo/TestAPI/TestAPI.csproj b/API_SQLuedo/TestAPI/TestAPI.csproj index 9d1ad3b..9841adb 100644 --- a/API_SQLuedo/TestAPI/TestAPI.csproj +++ b/API_SQLuedo/TestAPI/TestAPI.csproj @@ -33,4 +33,8 @@ + + + + diff --git a/API_SQLuedo/TestAPI/UnitTest1.cs b/API_SQLuedo/TestAPI/UnitTest1.cs deleted file mode 100644 index c22e82f..0000000 --- a/API_SQLuedo/TestAPI/UnitTest1.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace TestAPI -{ - public class UnitTest1 - { - [Fact] - public void Test1() - { - - } - } -} \ No newline at end of file diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs new file mode 100644 index 0000000..1072701 --- /dev/null +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -0,0 +1,29 @@ +using API.Controllers; +using DbContextLib; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging.Abstractions; +using Model.Business; +using Model.DTO; +using Services; + +namespace TestAPI +{ + public class UserUnitTest + { + private UserController userController = new UserController(new UserDataService(new UserDbContext(new DbContextOptions())),new NullLogger()); + + [Fact] + public void getById_success() + { + var getUsers = userController.GetUserById(1); + Assert.IsType(getUsers); + + var userDto = (getUsers as OkObjectResult)?.Value as UserDTO; + Assert.NotNull(userDto); + Assert.IsType(userDto); + Assert.Equal(1,userDto.Id); + Assert.Equal("johnny", userDto.Username); + } + } +} \ No newline at end of file From 37958ca4283aab5fb4ec86b22b7a6f273776448c Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 8 Mar 2024 10:37:29 +0100 Subject: [PATCH 02/50] =?UTF-8?q?Merge=20de=20master=20dans=20UnitTests=20?= =?UTF-8?q?pour=20=C3=AAtre=20=C3=A0=20jour=20et=20commencer=20les=20test?= =?UTF-8?q?=20unitaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/TestAPI/UserUnitTest.cs | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 1072701..76342ea 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -1,29 +1,15 @@ using API.Controllers; using DbContextLib; +using DbDataManager.Service; +using Dto; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging.Abstractions; -using Model.Business; -using Model.DTO; -using Services; namespace TestAPI { public class UserUnitTest { - private UserController userController = new UserController(new UserDataService(new UserDbContext(new DbContextOptions())),new NullLogger()); - - [Fact] - public void getById_success() - { - var getUsers = userController.GetUserById(1); - Assert.IsType(getUsers); - - var userDto = (getUsers as OkObjectResult)?.Value as UserDTO; - Assert.NotNull(userDto); - Assert.IsType(userDto); - Assert.Equal(1,userDto.Id); - Assert.Equal("johnny", userDto.Username); - } + } } \ No newline at end of file From 125c6be8e1f6224210202f2b71f864c16528634d Mon Sep 17 00:00:00 2001 From: masapountz Date: Mon, 11 Mar 2024 09:31:52 +0100 Subject: [PATCH 03/50] =?UTF-8?q?D=C3=A9but=20des=20test=20Moq=20et=20ajou?= =?UTF-8?q?t=20de=20m=C3=A9thodes=20d'extensions=20pour=20un=20UserDto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DbDataManager/Service/UserDataService.cs | 2 +- .../Extensions/UserDtoIdEqualityComparer.cs | 22 ++++++ API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs | 28 ++++++++ API_SQLuedo/TestAPI/TestAPI.csproj | 1 + API_SQLuedo/TestAPI/UserUnitTest.cs | 71 ++++++++++++++++++- 5 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs create mode 100644 API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs diff --git a/API_SQLuedo/DbDataManager/Service/UserDataService.cs b/API_SQLuedo/DbDataManager/Service/UserDataService.cs index e9d32ce..b45ee92 100644 --- a/API_SQLuedo/DbDataManager/Service/UserDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/UserDataService.cs @@ -71,7 +71,7 @@ public class UserDataService : IUserService // Permet d'indiquer en Db que l'entité a été modifiée. DbContext.Entry(updatingUser).State = EntityState.Modified; DbContext.SaveChangesAsync(); - return updatingUser; + return updatingUser; } public UserEntity CreateUser(string username, string password, string email, bool isAdmin) diff --git a/API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs new file mode 100644 index 0000000..886ba53 --- /dev/null +++ b/API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Dto; + +namespace TestAPI.Extensions +{ + class UserDtoIdEqualityComparer : EqualityComparer + { + public override bool Equals(UserDTO x, UserDTO y) + { + return x.Id == y.Id; + } + + public override int GetHashCode(UserDTO obj) + { + return obj.Id; + } + } +} diff --git a/API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs b/API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs new file mode 100644 index 0000000..1afc3f2 --- /dev/null +++ b/API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using API.Controllers; +using API.Service; +using DbContextLib; +using DbDataManager.Service; +using Dto; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Infrastructure; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Npgsql.Internal; +using StubbedContextLib; +using Moq; + +namespace TestAPI +{ + public class StatusCodeUserUnitTest + { + + + + } +} diff --git a/API_SQLuedo/TestAPI/TestAPI.csproj b/API_SQLuedo/TestAPI/TestAPI.csproj index a49e76b..a6cc9e9 100644 --- a/API_SQLuedo/TestAPI/TestAPI.csproj +++ b/API_SQLuedo/TestAPI/TestAPI.csproj @@ -22,6 +22,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 76342ea..bc57987 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -1,15 +1,84 @@ +using System.Collections; using API.Controllers; +using API.Service; using DbContextLib; using DbDataManager.Service; using Dto; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging.Abstractions; +using ModelToEntities.Business; +using Moq; +using Shared; namespace TestAPI { public class UserUnitTest { - + private readonly Mock> userService; + public UserUnitTest() + { + userService = new Mock>(); + } + + [Fact] + public void GetUserList() + { + //arrange + var productList = GetUsersData(); + userService.Setup(x => x.GetUsers(1 ,5)) + .Returns(productList); + var userController = new UserController(new NullLogger(), userService.Object); + + //act + var userResult = userController.GetUsers(1,5); + + if (userResult is OkObjectResult okObjectResult) + { + var valeur = okObjectResult.Value; + + Assert.NotNull(valeur); + Assert.Equal(GetUsersData().ToString(), valeur.ToString()); + Assert.True(productList.SequenceEqual(valeur as IEnumerable,)); + + } + + } + + + + private List GetUsersData() + { + List usersData = new List(3) + { + new ( + 0, + "Useruser", + "motdepasse", + "adressemail@gmail.com" , + + true + ), + new + ( + 1, + "Leuser", + "motdepasse", + "deuxadresse@gmail.com" , + + false + ), + new + ( + 2, + "gygyggyg", + "ennodlavehc", + "thirdadress@gmail.com" , + + false + ), + }; + return usersData; + } } } \ No newline at end of file From 73ba685aa2916f510cab3ba1d96cef7c50a0a076 Mon Sep 17 00:00:00 2001 From: Nestisse Date: Wed, 13 Mar 2024 15:21:13 +0100 Subject: [PATCH 04/50] =?UTF-8?q?Ajout=20de=20la=20strat=C3=A9gie=20pour?= =?UTF-8?q?=20faciliter=20la=20r=C3=A9cup=C3=A9ration=20en=20base=20de=20d?= =?UTF-8?q?onn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/DbContextLib/UserDbContext.cs | 14 +++++++---- .../EntityFramework/ContentLessonEntity.cs | 5 ++-- .../StubbedContextLib/StubbedContext.cs | 23 ++++++++++++++++--- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/API_SQLuedo/DbContextLib/UserDbContext.cs b/API_SQLuedo/DbContextLib/UserDbContext.cs index 6352ab8..b5feec4 100644 --- a/API_SQLuedo/DbContextLib/UserDbContext.cs +++ b/API_SQLuedo/DbContextLib/UserDbContext.cs @@ -12,28 +12,34 @@ namespace DbContextLib public DbSet Inquiry { get; set; } public DbSet InquiryTable { get; set; } public DbSet Lesson { get; set; } - public DbSet ContentLessons { get; set; } public DbSet Paragraph { get; set; } public DbSet Solutions { get; set; } public DbSet Success { get; set; } public DbSet Notepad { get; set; } - public UserDbContext(DbContextOptions options) : base(options) { } + + public UserDbContext(DbContextOptions options) : base(options) + { + } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseNpgsql("Host=localhost;Database=SQLuedo;Username=admin;Password=motdepasse"); } + base.OnConfiguring(optionsBuilder); } protected override void OnModelCreating(ModelBuilder modelBuilder) { - modelBuilder.Entity().HasKey(c => c.LessonId); + // Permet d'avoir les champs de la classe mère dans les classes filles et de ne pas avoir de table pour la classe mère + modelBuilder.Entity().UseTpcMappingStrategy(); + modelBuilder.Entity().HasKey(s => s.UserId); modelBuilder.Entity().HasKey(s => s.InquiryId); modelBuilder.Entity().HasKey(s => s.Id); base.OnModelCreating(modelBuilder); } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/EntityFramework/ContentLessonEntity.cs b/API_SQLuedo/EntityFramework/ContentLessonEntity.cs index ee81947..63ae177 100644 --- a/API_SQLuedo/EntityFramework/ContentLessonEntity.cs +++ b/API_SQLuedo/EntityFramework/ContentLessonEntity.cs @@ -2,14 +2,13 @@ namespace Entities; -[Table("ContentLesson")] public abstract class ContentLessonEntity { public int Id { get; set; } public string ContentContent { get; set; } public string ContentTitle { get; set; } - [ForeignKey(nameof(Lesson))] public int LessonId { get; set; } - public LessonEntity Lesson { get; set; } = null!; + [ForeignKey(nameof(Lesson))] public virtual int LessonId { get; set; } + public virtual LessonEntity Lesson { get; set; } = null!; protected ContentLessonEntity() { diff --git a/API_SQLuedo/StubbedContextLib/StubbedContext.cs b/API_SQLuedo/StubbedContextLib/StubbedContext.cs index e87f12f..0489139 100644 --- a/API_SQLuedo/StubbedContextLib/StubbedContext.cs +++ b/API_SQLuedo/StubbedContextLib/StubbedContext.cs @@ -1,5 +1,4 @@ -using System.Runtime.CompilerServices; -using System.Security.Cryptography; +using System.Security.Cryptography; using DbContextLib; using Entities; using Microsoft.AspNetCore.Cryptography.KeyDerivation; @@ -63,7 +62,25 @@ public class StubbedContext : UserDbContext modelBuilder.Entity().HasData( new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"), - new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est ra****"), + new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est fou"), new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan")); + + modelBuilder.Entity().HasData( + new LessonEntity(1, "La cuisine", "Maxime", new DateOnly(2021, 10, 10)), + new LessonEntity(2, "La salle de bain", "Erwan", new DateOnly(2021, 10, 10)), + new LessonEntity(3, "La chambre", "Johnny", new DateOnly(2021, 10, 10)), + new LessonEntity(4, "Le salon", "Clement", new DateOnly(2021, 10, 10))); + + modelBuilder.Entity().HasData( + new ParagraphEntity(1, "Le premier paragraphe", "Le contenu du premier paragraphe", "Attention", "La query", + "Le commentaire", 1), + new ParagraphEntity(2, "Le deuxième paragraphe", "Le contenu du deuxième paragraphe", "Attention", + "La query", "Le commentaire", 1), + new ParagraphEntity(3, "Le troisième paragraphe", "Le contenu du troisième paragraphe", "Attention", + "query", "commentaire", 2), + new ParagraphEntity(4, "Le quatrième paragraphe", "Le contenu du quatrième paragraphe", "Attention", + "La query", "Le commentaire", 3), + new ParagraphEntity(5, "Le cinquième paragraphe", "Le contenu du quatrième paragraphe", "Attention", + "La query", "Le commentaire", 4)); } } \ No newline at end of file From cf232466664be1102477e7ef1f39b834aef4b7cc Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 16:13:41 +0100 Subject: [PATCH 05/50] TU GetUserList avec Moq --- API_SQLuedo/Dto/UserDTO.cs | 31 ++++++++++++++++++- ...omparer.cs => UserDto.EqualityComparer.cs} | 2 +- API_SQLuedo/TestAPI/UserUnitTest.cs | 3 +- 3 files changed, 33 insertions(+), 3 deletions(-) rename API_SQLuedo/TestAPI/Extensions/{UserDtoIdEqualityComparer.cs => UserDto.EqualityComparer.cs} (85%) diff --git a/API_SQLuedo/Dto/UserDTO.cs b/API_SQLuedo/Dto/UserDTO.cs index 9a96905..bfc9e3f 100644 --- a/API_SQLuedo/Dto/UserDTO.cs +++ b/API_SQLuedo/Dto/UserDTO.cs @@ -1,6 +1,6 @@ namespace Dto { - public class UserDTO + public class UserDTO : IEquatable { public int Id { get; set; } public string Username { get; set; } @@ -30,5 +30,34 @@ { return $"{Id}\t{Username}\t{Email}\t{IsAdmin}"; } + + 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 UserDTO); + } + public bool Equals(UserDTO other) + { + return (this.Id == other.Id); + } + + public override int GetHashCode() + { + return Id; + } } } diff --git a/API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs similarity index 85% rename from API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs rename to API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs index 886ba53..0a77cc4 100644 --- a/API_SQLuedo/TestAPI/Extensions/UserDtoIdEqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs @@ -7,7 +7,7 @@ using Dto; namespace TestAPI.Extensions { - class UserDtoIdEqualityComparer : EqualityComparer + class IdEqualityComparer : EqualityComparer { public override bool Equals(UserDTO x, UserDTO y) { diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index bc57987..e9c0bca 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -10,6 +10,7 @@ using Microsoft.Extensions.Logging.Abstractions; using ModelToEntities.Business; using Moq; using Shared; +using TestAPI.Extensions; namespace TestAPI { @@ -39,7 +40,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetUsersData().ToString(), valeur.ToString()); - Assert.True(productList.SequenceEqual(valeur as IEnumerable,)); + Assert.True(productList.SequenceEqual(valeur as IEnumerable,new IdEqualityComparer())); } From c3acddb9c5ca01a7ecff1e6c26f67ecab620e6fd Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 16:38:08 +0100 Subject: [PATCH 06/50] =?UTF-8?q?Ajout=20du=20TU=20d'=C3=A9chec=20de=20Get?= =?UTF-8?q?UserList?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/TestAPI/UserUnitTest.cs | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index e9c0bca..5d53eca 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -23,15 +23,13 @@ namespace TestAPI } [Fact] - public void GetUserList() + public void GetUserListSuccess() { - //arrange var productList = GetUsersData(); - userService.Setup(x => x.GetUsers(1 ,5)) + userService.Setup(x => x.GetUsers(1 ,3)) .Returns(productList); var userController = new UserController(new NullLogger(), userService.Object); - //act var userResult = userController.GetUsers(1,5); if (userResult is OkObjectResult okObjectResult) @@ -46,6 +44,25 @@ namespace TestAPI } + [Fact] + public void GetUserListFail() + { + var productList = GetUsersData(); + userService.Setup(x => x.GetUsers(1, 3)) + .Returns(productList); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.GetUsers(2,3); + + if (userResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) + + { + + Assert.IsNotType(userResult); + } + + } + private List GetUsersData() From 3d4bed02ecc841f099b01ea48efe51d479ab418e Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 16:56:34 +0100 Subject: [PATCH 07/50] =?UTF-8?q?TU=20GetUserId=20r=C3=A9ussite=20et=20?= =?UTF-8?q?=C3=A9chec?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/TestAPI/UserUnitTest.cs | 54 ++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 5d53eca..11782c2 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -64,10 +64,54 @@ namespace TestAPI } + [Fact] + public void GetUserIdSuccess() + { + var productList = GetUsersData(); + userService.Setup(x => x.GetUserById(1)) + .Returns(productList[1]); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.GetUserById(1); + if (userResult is OkObjectResult okObjectResult) + { + UserDTO valeur = okObjectResult.Value as UserDTO; + + Assert.NotNull(valeur); + Assert.Equal("Leuser",valeur.Username); + Assert.Equal("motdepasse", valeur.Password); + Assert.Equal("deuxadresse@gmail.com", valeur.Email); + Assert.IsType(valeur); + Assert.Contains(valeur, productList); + } + + } + + [Fact] + public void GetUserIdFail() + { + var productList = GetUsersData(); + userService.Setup(x => x.GetUserById(1)) + .Returns(productList[1]); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.GetUserById(100); + if (userResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, productList); + } + + } + + private List GetUsersData() { - List usersData = new List(3) + List usersData = new List(4) { new ( 0, @@ -93,6 +137,14 @@ namespace TestAPI "ennodlavehc", "thirdadress@gmail.com" , + false + ), + new + ( + "ferferf", + "h_nh_78", + "fourthadress@gmail.com" , + false ), }; From e3b6f5620426b22465e0f9904088c21ff2f8e94e Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 17:19:35 +0100 Subject: [PATCH 08/50] Ajout des TU Success et Fail de 'GetUserByUsername' --- API_SQLuedo/TestAPI/UserUnitTest.cs | 69 ++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 11782c2..526c1eb 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -25,9 +25,9 @@ namespace TestAPI [Fact] public void GetUserListSuccess() { - var productList = GetUsersData(); + var userList = GetUsersData(); userService.Setup(x => x.GetUsers(1 ,3)) - .Returns(productList); + .Returns(userList); var userController = new UserController(new NullLogger(), userService.Object); var userResult = userController.GetUsers(1,5); @@ -38,7 +38,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetUsersData().ToString(), valeur.ToString()); - Assert.True(productList.SequenceEqual(valeur as IEnumerable,new IdEqualityComparer())); + Assert.True(userList.SequenceEqual(valeur as IEnumerable,new IdEqualityComparer())); } @@ -47,9 +47,9 @@ namespace TestAPI [Fact] public void GetUserListFail() { - var productList = GetUsersData(); + var userList = GetUsersData(); userService.Setup(x => x.GetUsers(1, 3)) - .Returns(productList); + .Returns(userList); var userController = new UserController(new NullLogger(), userService.Object); var userResult = userController.GetUsers(2,3); @@ -67,9 +67,9 @@ namespace TestAPI [Fact] public void GetUserIdSuccess() { - var productList = GetUsersData(); + var userList = GetUsersData(); userService.Setup(x => x.GetUserById(1)) - .Returns(productList[1]); + .Returns(userList[1]); var userController = new UserController(new NullLogger(), userService.Object); var userResult = userController.GetUserById(1); @@ -82,7 +82,7 @@ namespace TestAPI Assert.Equal("motdepasse", valeur.Password); Assert.Equal("deuxadresse@gmail.com", valeur.Email); Assert.IsType(valeur); - Assert.Contains(valeur, productList); + Assert.Contains(valeur, userList); } } @@ -90,9 +90,9 @@ namespace TestAPI [Fact] public void GetUserIdFail() { - var productList = GetUsersData(); + var userList = GetUsersData(); userService.Setup(x => x.GetUserById(1)) - .Returns(productList[1]); + .Returns(userList[1]); var userController = new UserController(new NullLogger(), userService.Object); var userResult = userController.GetUserById(100); @@ -102,12 +102,59 @@ namespace TestAPI Assert.NotNull(valeur); Assert.IsNotType(valeur); - Assert.DoesNotContain(valeur, productList); + Assert.DoesNotContain(valeur, userList); } } + [Fact] + public void GetUserUsernameSuccess() + { + var userList = GetUsersData(); + userService.Setup(x => x.GetUserByUsername("Useruser")) + .Returns(userList[0]); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.GetUserByUsername("Useruser"); + if (userResult is OkObjectResult okObjectResult) + { + UserDTO valeur = okObjectResult.Value as UserDTO; + + Assert.NotNull(valeur); + Assert.IsType(valeur); + Assert.Contains(valeur, userList); + Assert.Equal("adressemail@gmail.com", valeur.Email); + Assert.Equal("Useruser", valeur.Username); + Assert.Equal("motdepasse", valeur.Password); + Assert.True(valeur.IsAdmin); + } + + } + + + [Fact] + public void GetUserUsernameFail() + { + var userList = GetUsersData(); + userService.Setup(x => x.GetUserByUsername("Useruser")) + .Returns(userList[0]); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.GetUserByUsername("GYIIieihhh"); + + if (userResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, userList); + Assert.False(userList == valeur); + } + } + + private List GetUsersData() { From 0d4ed12d9f5c610eafab0ddba985d1373d3b02ee Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 17:36:42 +0100 Subject: [PATCH 09/50] Ajout des TU pour DeleteUser --- API_SQLuedo/TestAPI/UserUnitTest.cs | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 526c1eb..809ee80 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -156,6 +156,46 @@ namespace TestAPI + + + + [Fact] + public void DeleteUserSuccess() + { + var userList = GetUsersData(); + userService.Setup(x => x.DeleteUser(1)) + .Returns(true); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.DeleteUser(1); + if (userResult is OkObjectResult okObjectResult) + { + bool valeur = (bool)okObjectResult.Value; + + Assert.True(valeur); + } + + } + + + [Fact] + public void DeleteUserFail() + { + var userList = GetUsersData(); + userService.Setup(x => x.DeleteUser(1)) + .Returns(true); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.DeleteUser(100); + if (userResult is OkObjectResult okObjectResult) + { + Assert.Null(okObjectResult.Value); + Assert.IsNotType(okObjectResult.Value); + } + } + + + private List GetUsersData() { List usersData = new List(4) From ffa13b84b6030d8b325cd0aec041d08f3175935e Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 18:25:26 +0100 Subject: [PATCH 10/50] Ajout des TU pour CreateUser --- API_SQLuedo/TestAPI/UserUnitTest.cs | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 809ee80..668a7e0 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -195,6 +195,46 @@ namespace TestAPI } + [Fact] + public void CreateUserSuccess() + { + var userList = GetUsersData(); + userService.Setup(x => x.CreateUser("Nom","Passssss","heudfk@hdye.com",true)) + .Returns(new UserDTO("Nom","Passssss", "heudfk@hdye.com",true)); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.CreateUser(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + if (userResult is CreatedResult createdObjectResult) + { + UserDTO valeur = createdObjectResult.Value as UserDTO; + + Assert.NotNull(valeur); + Assert.Equal("Nom", valeur.Username); + Assert.Equal("Passssss",valeur.Password); + Assert.Equal("heudfk@hdye.com",valeur.Email); + Assert.True(valeur.IsAdmin); + } + + } + + + [Fact] + public void CreateUserFail() + { + var userList = GetUsersData(); + userService.Setup(x => x.CreateUser("Nom", "Passssss", "heudfk@hdye.com", true)) + .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.CreateUser(new UserDTO(null, "Passssss", "heudfk@hdye.com", true)); + + if (userResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400,BDObjectResult.StatusCode); + } + } + private List GetUsersData() { From 6e17a7397cec94cd8b3b3a0eba4b2719db1bc111 Mon Sep 17 00:00:00 2001 From: masapountz Date: Thu, 14 Mar 2024 18:39:54 +0100 Subject: [PATCH 11/50] Ajout TU UpdateUser - FIN TU User Controller --- API_SQLuedo/API/Controllers/UserController.cs | 4 +- API_SQLuedo/TestAPI/UserUnitTest.cs | 47 +++++++++++++++++-- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 5809f53..2891d00 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -113,13 +113,13 @@ namespace API.Controllers if (!ModelState.IsValid) { logger.LogError( - "[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); + "[ERREUR] Problème controller - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); return BadRequest(); } if (userDto != null) { - logger.LogInformation("[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée", + logger.LogInformation("[INFORMATION] La mise à jour de l'utilisateur avec l'id {id} a été effectuée", id); return Ok(userService.UpdateUser(id, userDto)); } diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 668a7e0..4384d0c 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -4,6 +4,7 @@ using API.Service; using DbContextLib; using DbDataManager.Service; using Dto; +using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging.Abstractions; @@ -162,7 +163,6 @@ namespace TestAPI [Fact] public void DeleteUserSuccess() { - var userList = GetUsersData(); userService.Setup(x => x.DeleteUser(1)) .Returns(true); var userController = new UserController(new NullLogger(), userService.Object); @@ -198,7 +198,6 @@ namespace TestAPI [Fact] public void CreateUserSuccess() { - var userList = GetUsersData(); userService.Setup(x => x.CreateUser("Nom","Passssss","heudfk@hdye.com",true)) .Returns(new UserDTO("Nom","Passssss", "heudfk@hdye.com",true)); var userController = new UserController(new NullLogger(), userService.Object); @@ -217,7 +216,6 @@ namespace TestAPI } - [Fact] public void CreateUserFail() { @@ -228,6 +226,44 @@ namespace TestAPI var userResult = userController.CreateUser(new UserDTO(null, "Passssss", "heudfk@hdye.com", true)); + if (userResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } + + + [Fact] + public void UpdateUserSuccess() + { + userService.Setup(x => x.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true))) + .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + if (userResult is OkObjectResult okObjectResult) + { + UserDTO valeur = okObjectResult.Value as UserDTO; + + Assert.NotNull(valeur); + Assert.Equal("Nom", valeur.Username); + Assert.Equal("Passssss", valeur.Password); + Assert.Equal("heudfk@hdye.com", valeur.Email); + Assert.True(valeur.IsAdmin); + } + + } + + [Fact] + public void UpdateUserFail() + { + userService.Setup(x => x.UpdateUser(1, new UserDTO(2,"Nom", "Passssss", "heudfk@hdye.com", true))) + .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userController = new UserController(new NullLogger(), userService.Object); + + var userResult = userController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + if (userResult is BadRequestResult BDObjectResult) { @@ -236,6 +272,11 @@ namespace TestAPI } + + + + + private List GetUsersData() { List usersData = new List(4) From 1107d035cb12af00951cb07bae7843156e82b5a8 Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 16:43:25 +0100 Subject: [PATCH 12/50] Modification du service de inquiry --- .../API/Controllers/InquiriesController.cs | 2 +- API_SQLuedo/API/Program.cs | 4 +- .../API/Service/InquiryDataServiceAPI.cs | 28 ++--- API_SQLuedo/Shared/InquiryDataService.cs | 101 ------------------ API_SQLuedo/TestConsoleAPI/Program.cs | 9 +- 5 files changed, 25 insertions(+), 119 deletions(-) delete mode 100644 API_SQLuedo/Shared/InquiryDataService.cs diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index 045d7a7..25977ab 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -13,7 +13,7 @@ namespace API.Controllers [ApiController] public class InquiriesController : Controller { - private IInquiryService _inquiryDataService; + private readonly IInquiryService _inquiryDataService; private readonly ILogger _logger; public InquiriesController(IInquiryService inquiryDataService, ILogger logger) diff --git a/API_SQLuedo/API/Program.cs b/API_SQLuedo/API/Program.cs index 338e26c..716256e 100644 --- a/API_SQLuedo/API/Program.cs +++ b/API_SQLuedo/API/Program.cs @@ -24,8 +24,8 @@ builder.Services.AddSwaggerGen(); builder.Services.AddScoped, DbDataManager.Service.UserDataService>(); builder.Services.AddScoped, Shared.UserDataService>(); -builder.Services.AddScoped, DbDataManager.Service.InquiryDataService>(); -builder.Services.AddScoped, Shared.InquiryDataService>(); +builder.Services.AddScoped, InquiryDataService>(); +builder.Services.AddScoped, InquiryDataServiceApi>(); builder.Services.AddScoped, DbDataManager.Service.ParagraphDataService>(); builder.Services.AddScoped, Shared.ParagraphDataService>(); diff --git a/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs b/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs index 7f7ebf4..eb69a91 100644 --- a/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs @@ -1,14 +1,21 @@ -using Entities; +using Dto; +using Entities; using Model.OrderCriteria; using Shared; +using Shared.Mapper; namespace API.Service; -public class InquiryDataServiceApi(IInquiryService inquiryService) : IInquiryService +public class InquiryDataServiceApi(IInquiryService inquiryService) : IInquiryService { - public InquiryEntity CreateInquiry(string title, string description, bool isUser) + public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry) { - return inquiryService.CreateInquiry(title, description, isUser); + return inquiryService.UpdateInquiry(id, inquiry.FromDTOToEntity()).FromEntityToDTO(); + } + + public InquiryDTO CreateInquiry(string title, string description, bool isUser) + { + return inquiryService.CreateInquiry(title, description, isUser).FromEntityToDTO(); } public bool DeleteInquiry(int id) @@ -16,18 +23,13 @@ public class InquiryDataServiceApi(IInquiryService inquiryService return inquiryService.DeleteInquiry(id); } - public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) + public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) { var inquiries = inquiryService.GetInquiries(page, number, orderCriteria); - return inquiries.Select(i => i).ToList(); + return inquiries.Select(i => i.FromEntityToDTO()).ToList(); } - public InquiryEntity GetInquiryById(int id) => inquiryService.GetInquiryById(id); + public InquiryDTO GetInquiryById(int id) => inquiryService.GetInquiryById(id).FromEntityToDTO(); - public InquiryEntity GetInquiryByTitle(string title) => inquiryService.GetInquiryByTitle(title); - - public InquiryEntity UpdateInquiry(int id, InquiryEntity inquiry) - { - return inquiryService.UpdateInquiry(id, inquiry); - } + public InquiryDTO GetInquiryByTitle(string title) => inquiryService.GetInquiryByTitle(title).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/Shared/InquiryDataService.cs b/API_SQLuedo/Shared/InquiryDataService.cs deleted file mode 100644 index 691e24a..0000000 --- a/API_SQLuedo/Shared/InquiryDataService.cs +++ /dev/null @@ -1,101 +0,0 @@ -using Entities; -using Microsoft.EntityFrameworkCore; -using Dto; -using Model.OrderCriteria; -using DbContextLib; -using Shared.Mapper; - -namespace Shared; - -public class InquiryDataService : IInquiryDataService -{ - private UserDbContext DbContext { get; set; } - - public InquiryDataService(UserDbContext context) - { - DbContext = context; - context.Database.EnsureCreated(); - } - - public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) - { - IQueryable query = DbContext.Inquiries.Skip((page - 1) * number).Take(number); - switch (orderCriteria) - { - case InquiryOrderCriteria.None: - break; - case InquiryOrderCriteria.ByTitle: - query = query.OrderBy(s => s.Title); - break; - case InquiryOrderCriteria.ByDescription: - query = query.OrderBy(s => s.Description); - break; - case InquiryOrderCriteria.ByIsUser: - query = query.OrderBy(s => s.IsUser); - break; - default: - break; - } - - var inquiries = query.ToList(); - return inquiries.Select(s => s.FromEntityToDTO()); - } - - public InquiryDTO GetInquiryById(int id) - { - var inquiryEntity = DbContext.Inquiries.FirstOrDefault(i => i.Id == id); - if (inquiryEntity == null) - { - throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); - } - - return inquiryEntity.FromEntityToDTO(); - } - - public InquiryDTO GetInquiryByTitle(string title) - { - var inquiryEntity = DbContext.Inquiries.FirstOrDefault(i => i.Title == title); - if (inquiryEntity == null) - { - throw new ArgumentException("Impossible de trouver l'enquête", nameof(title)); - } - - return inquiryEntity.FromEntityToDTO(); - } - - public InquiryDTO CreateInquiry(string title, string description, bool isUser) - { - var newInquiryEntity = new InquiryDTO(title, description, isUser); - DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity()); - DbContext.SaveChangesAsync(); - return newInquiryEntity; - } - - public bool DeleteInquiry(int id) - { - var inquiryEntity = DbContext.Inquiries.FirstOrDefault(u => u.Id == id); - if (inquiryEntity == null) - { - return false; - } - - DbContext.Inquiries.Remove(inquiryEntity); - DbContext.SaveChangesAsync(); - return true; - } - - public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry) - { - var updatingInquiry = DbContext.Inquiries.FirstOrDefault(u => u.Id == id); - if (updatingInquiry == null) - { - throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); - } - - updatingInquiry.Title = inquiry.Title; - updatingInquiry.Description = inquiry.Description; - updatingInquiry.IsUser = inquiry.IsUser; - DbContext.SaveChangesAsync(); - return updatingInquiry.FromEntityToDTO(); - } -} \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 19866e9..07e5a52 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -1,14 +1,19 @@ // See https://aka.ms/new-console-template for more information using API.Controllers; +using API.Service; using DbContextLib; +using DbDataManager.Service; using Dto; using Microsoft.AspNetCore.Mvc; using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Model.OrderCriteria; -using Shared; +using LessonDataService = Shared.LessonDataService; +using ParagraphDataService = Shared.ParagraphDataService; +using SuccessDataService = Shared.SuccessDataService; +using UserDataService = Shared.UserDataService; var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); @@ -26,7 +31,7 @@ ILogger successLogger = factory.CreateLogger Date: Fri, 15 Mar 2024 16:55:29 +0100 Subject: [PATCH 13/50] Modification du nom de la racine du projet --- API_SQLuedo/DbDataManager/DbDataManager.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/API_SQLuedo/DbDataManager/DbDataManager.csproj b/API_SQLuedo/DbDataManager/DbDataManager.csproj index 42ff6a0..54b34de 100644 --- a/API_SQLuedo/DbDataManager/DbDataManager.csproj +++ b/API_SQLuedo/DbDataManager/DbDataManager.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - ModelToEntities + DbDataManager From fcd258a2df845e57665aa08959b4ad24b6060183 Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 16:56:24 +0100 Subject: [PATCH 14/50] Modification des services de lesson --- API_SQLuedo/API/Program.cs | 14 +-- .../API/Service/LessonDataServiceAPI.cs | 25 +++-- .../Service/InquiryDataService.cs | 53 +++++---- .../Service/LessonDataService.cs | 52 ++++++--- API_SQLuedo/Shared/LessonDataService.cs | 103 ------------------ 5 files changed, 88 insertions(+), 159 deletions(-) delete mode 100644 API_SQLuedo/Shared/LessonDataService.cs diff --git a/API_SQLuedo/API/Program.cs b/API_SQLuedo/API/Program.cs index 716256e..060b520 100644 --- a/API_SQLuedo/API/Program.cs +++ b/API_SQLuedo/API/Program.cs @@ -33,8 +33,8 @@ builder.Services.AddScoped, Shared.ParagraphData builder.Services.AddScoped, DbDataManager.Service.SuccessDataService>(); builder.Services.AddScoped, Shared.SuccessDataService>(); -builder.Services.AddScoped, DbDataManager.Service.LessonDataService>(); -builder.Services.AddScoped, Shared.LessonDataService>(); +builder.Services.AddScoped, LessonDataService>(); +builder.Services.AddScoped, LessonDataServiceApi>(); builder.Services.AddDbContext(); builder.Services.AddDbContext(options => options.UseInMemoryDatabase("appDb")); @@ -72,11 +72,11 @@ builder.Services.AddSwaggerGen(option => { Reference = new OpenApiReference { - Type=ReferenceType.SecurityScheme, - Id="Bearer" + Type = ReferenceType.SecurityScheme, + Id = "Bearer" } }, - new string[]{} + new string[] { } } }); }); @@ -86,7 +86,7 @@ var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { - app.UseSwagger(); + app.UseSwagger(); app.UseSwaggerUI(); } @@ -98,4 +98,4 @@ app.MapControllers(); app.MapIdentityApi(); -app.Run(); +app.Run(); \ No newline at end of file diff --git a/API_SQLuedo/API/Service/LessonDataServiceAPI.cs b/API_SQLuedo/API/Service/LessonDataServiceAPI.cs index 7b26363..391d081 100644 --- a/API_SQLuedo/API/Service/LessonDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/LessonDataServiceAPI.cs @@ -1,26 +1,31 @@ -using Entities; +using Dto; +using Entities; using Model.OrderCriteria; using Shared; +using Shared.Mapper; namespace API.Service; -public class LessonDataServiceApi(ILessonService lessonService) : ILessonService +public class LessonDataServiceApi(ILessonService lessonService) : ILessonService { - public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) + public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) { var lessonsEntities = lessonService.GetLessons(page, number, orderCriteria); - return lessonsEntities.Select(e => e).ToList(); + return lessonsEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public LessonEntity GetLessonById(int id) => lessonService.GetLessonById(id); + public LessonDTO GetLessonById(int id) => lessonService.GetLessonById(id).FromEntityToDTO(); - public LessonEntity GetLessonByTitle(string title) => lessonService.GetLessonByTitle(title); + public LessonDTO GetLessonByTitle(string title) => lessonService.GetLessonByTitle(title).FromEntityToDTO(); public bool DeleteLesson(int id) => lessonService.DeleteLesson(id); - public LessonEntity UpdateLesson(int id, LessonEntity lesson) => - lessonService.UpdateLesson(id, lesson); + public LessonDTO UpdateLesson(int id, LessonDTO lesson) => + lessonService.UpdateLesson(id, lesson.FromDTOToEntity()).FromEntityToDTO(); - public LessonEntity CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) => - lessonService.CreateLesson(title, lastPublisher, lastEdit); + public LessonDTO UpdateLesson(int id, LessonEntity lesson) => + lessonService.UpdateLesson(id, lesson).FromEntityToDTO(); + + public LessonDTO CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) => + lessonService.CreateLesson(title, lastPublisher, lastEdit).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs index 2f9b580..df9c2ce 100644 --- a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs @@ -8,7 +8,7 @@ namespace DbDataManager.Service; public class InquiryDataService : IInquiryService { - private UserDbContext DbContext { get; } + private UserDbContext DbContext { get; set; } public InquiryDataService(UserDbContext context) { @@ -16,9 +16,33 @@ public class InquiryDataService : IInquiryService context.Database.EnsureCreated(); } + public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) + { + IQueryable query = DbContext.Inquiries.Skip((page - 1) * number).Take(number); + switch (orderCriteria) + { + case InquiryOrderCriteria.None: + break; + case InquiryOrderCriteria.ByTitle: + query = query.OrderBy(s => s.Title); + break; + case InquiryOrderCriteria.ByDescription: + query = query.OrderBy(s => s.Description); + break; + case InquiryOrderCriteria.ByIsUser: + query = query.OrderBy(s => s.IsUser); + break; + default: + break; + } + + var inquiries = query.ToList(); + return inquiries.Select(s => s); + } + public InquiryEntity GetInquiryById(int id) { - var inquiryEntity = DbContext.Inquiries.FirstOrDefault(u => u.Id == id); + var inquiryEntity = DbContext.Inquiries.FirstOrDefault(i => i.Id == id); if (inquiryEntity == null) { throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); @@ -29,7 +53,7 @@ public class InquiryDataService : IInquiryService public InquiryEntity GetInquiryByTitle(string title) { - var inquiryEntity = DbContext.Inquiries.FirstOrDefault(u => u.Title == title); + var inquiryEntity = DbContext.Inquiries.FirstOrDefault(i => i.Title == title); if (inquiryEntity == null) { throw new ArgumentException("Impossible de trouver l'enquête", nameof(title)); @@ -38,10 +62,12 @@ public class InquiryDataService : IInquiryService return inquiryEntity; } - public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) + public InquiryEntity CreateInquiry(string title, string description, bool isUser) { - return DbContext.Inquiries.Skip((page - 1) * number).Take(number).ToList() - .Select(u => u); + var newInquiryEntity = new InquiryEntity(title, description, isUser); + DbContext.Inquiries.Add(newInquiryEntity); + DbContext.SaveChangesAsync(); + return newInquiryEntity; } public bool DeleteInquiry(int id) @@ -68,22 +94,7 @@ public class InquiryDataService : IInquiryService updatingInquiry.Title = inquiry.Title; updatingInquiry.Description = inquiry.Description; updatingInquiry.IsUser = inquiry.IsUser; - // Permet d'indiquer en Db que l'entité a été modifiée. - DbContext.Entry(updatingInquiry).State = EntityState.Modified; DbContext.SaveChangesAsync(); return updatingInquiry; } - - public InquiryEntity CreateInquiry(string title, string description, bool isUser) - { - var newInquiryEntity = new InquiryEntity() - { - Title = title, - Description = description, - IsUser = isUser, - }; - DbContext.Inquiries.Add(newInquiryEntity); - DbContext.SaveChangesAsync(); - return newInquiryEntity; - } } \ No newline at end of file diff --git a/API_SQLuedo/DbDataManager/Service/LessonDataService.cs b/API_SQLuedo/DbDataManager/Service/LessonDataService.cs index 65ed957..c932f74 100644 --- a/API_SQLuedo/DbDataManager/Service/LessonDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/LessonDataService.cs @@ -1,11 +1,11 @@ -using DbContextLib; -using Entities; -using Microsoft.EntityFrameworkCore; -using Model.OrderCriteria; -using Shared; - -namespace DbDataManager.Service; - +using DbContextLib; +using Entities; +using Microsoft.EntityFrameworkCore; +using Model.OrderCriteria; +using Shared; + +namespace DbDataManager.Service; + public class LessonDataService : ILessonService { private UserDbContext DbContext { get; set; } @@ -16,6 +16,30 @@ public class LessonDataService : ILessonService context.Database.EnsureCreated(); } + public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) + { + IQueryable query = DbContext.Lessons.Skip((page - 1) * number).Take(number); + switch (orderCriteria) + { + case LessonOrderCriteria.None: + break; + case LessonOrderCriteria.ByTitle: + query = query.OrderBy(s => s.Title); + break; + case LessonOrderCriteria.ByLastPublisher: + query = query.OrderBy(s => s.LastPublisher); + break; + case LessonOrderCriteria.ByLastEdit: + query = query.OrderBy(s => s.LastEdit); + break; + default: + break; + } + + var lessons = query.ToList(); + return lessons.Select(s => s); + } + public LessonEntity GetLessonById(int id) { var lessonEntity = DbContext.Lessons.FirstOrDefault(u => u.Id == id); @@ -38,15 +62,9 @@ public class LessonDataService : ILessonService return lessonEntity; } - public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) - { - return DbContext.Lessons.Skip((page - 1) * number).Take(number).ToList() - .Select(u => u); - } - public bool DeleteLesson(int id) { - var lessonEntity = DbContext.Lessons.FirstOrDefault(u => u.Id == id); + var lessonEntity = DbContext.Lessons.FirstOrDefault(l => l.Id == id); if (lessonEntity == null) { return false; @@ -59,7 +77,7 @@ public class LessonDataService : ILessonService public LessonEntity UpdateLesson(int id, LessonEntity lesson) { - var updatingLesson = DbContext.Lessons.FirstOrDefault(u => u.Id == id); + var updatingLesson = DbContext.Lessons.FirstOrDefault(l => l.Id == id); if (updatingLesson == null) { throw new ArgumentException("Impossible de trouver la leçon", nameof(id)); @@ -68,8 +86,6 @@ public class LessonDataService : ILessonService updatingLesson.Title = lesson.Title; updatingLesson.LastPublisher = lesson.LastPublisher; updatingLesson.LastEdit = lesson.LastEdit; - // Permet d'indiquer en Db que l'entité a été modifiée. - DbContext.Entry(updatingLesson).State = EntityState.Modified; DbContext.SaveChangesAsync(); return updatingLesson; } diff --git a/API_SQLuedo/Shared/LessonDataService.cs b/API_SQLuedo/Shared/LessonDataService.cs deleted file mode 100644 index e37b67e..0000000 --- a/API_SQLuedo/Shared/LessonDataService.cs +++ /dev/null @@ -1,103 +0,0 @@ -using DbContextLib; -using Entities; -using Microsoft.EntityFrameworkCore; -using Dto; -using Model.OrderCriteria; -using Shared.Mapper; - -namespace Shared; - -public class LessonDataService : ILessonDataService -{ - private UserDbContext DbContext { get; set; } - public LessonDataService(UserDbContext context) - { - DbContext = context; - context.Database.EnsureCreated(); - } - public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) - { - IQueryable query = DbContext.Lessons.Skip((page - 1) * number).Take(number); - switch (orderCriteria) - { - case LessonOrderCriteria.None: - break; - case LessonOrderCriteria.ByTitle: - query = query.OrderBy(s => s.Title); - break; - case LessonOrderCriteria.ByLastPublisher: - query = query.OrderBy(s => s.LastPublisher); - break; - case LessonOrderCriteria.ByLastEdit: - query = query.OrderBy(s => s.LastEdit); - break; - default: - break; - } - var lessons = query.ToList(); - return lessons.Select(s => s.FromEntityToDTO()); - } - - public LessonDTO GetLessonById(int id) - { - var lessonEntity = DbContext.Lessons.FirstOrDefault(u => u.Id == id); - if (lessonEntity == null) - { - throw new ArgumentException("Impossible de trouver la leçon", nameof(id)); - } - - return lessonEntity.FromEntityToDTO(); - } - - public LessonDTO GetLessonByTitle(string title) - { - var lessonEntity = DbContext.Lessons.FirstOrDefault(u => u.Title == title); - if (lessonEntity == null) - { - throw new ArgumentException("Impossible de trouver la leçon", nameof(title)); - } - - return lessonEntity.FromEntityToDTO(); - } - - public bool DeleteLesson(int id) - { - var lessonEntity = DbContext.Lessons.FirstOrDefault(l => l.Id == id); - if (lessonEntity == null) - { - return false; - } - - DbContext.Lessons.Remove(lessonEntity); - DbContext.SaveChangesAsync(); - return true; - } - - public LessonDTO UpdateLesson(int id, LessonDTO lesson) - { - var updatingLesson = DbContext.Lessons.FirstOrDefault(l => l.Id == id); - if (updatingLesson == null) - { - throw new ArgumentException("Impossible de trouver la leçon", nameof(id)); - } - - updatingLesson.Title = lesson.Title; - updatingLesson.LastPublisher = lesson.LastPublisher; - updatingLesson.LastEdit = lesson.LastEdit; - DbContext.SaveChangesAsync(); - return updatingLesson.FromEntityToDTO(); - } - - public LessonDTO CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) - { - var newLessonEntity = new LessonDTO() - { - Title = title, - LastPublisher = lastPublisher, - LastEdit = lastEdit, - }; - DbContext.Lessons.Add(newLessonEntity.FromDTOToEntity()); - DbContext.SaveChangesAsync(); - return newLessonEntity; - } -} \ No newline at end of file From b4722228bfe83609c1091f18e2445d7b569f37d9 Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 16:57:17 +0100 Subject: [PATCH 15/50] Modification du test pour s'adapter aux changements de service --- API_SQLuedo/TestConsoleAPI/Program.cs | 65 +++++++++++++-------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 07e5a52..5c6486a 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -10,16 +10,16 @@ using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Model.OrderCriteria; -using LessonDataService = Shared.LessonDataService; using ParagraphDataService = Shared.ParagraphDataService; +using Service_LessonDataService = DbDataManager.Service.LessonDataService; using SuccessDataService = Shared.SuccessDataService; using UserDataService = Shared.UserDataService; var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); var options = new DbContextOptionsBuilder() - .UseSqlite(connection) - .Options; + .UseSqlite(connection) + .Options; using ILoggerFactory factory = new LoggerFactory(); ILogger userLogger = factory.CreateLogger(); ILogger inquiryLogger = factory.CreateLogger(); @@ -31,9 +31,11 @@ ILogger successLogger = factory.CreateLogger Date: Fri, 15 Mar 2024 17:02:27 +0100 Subject: [PATCH 16/50] Modification du service de Paragraph --- .../API/Controllers/LessonsController.cs | 2 +- .../API/Controllers/ParagraphsController.cs | 2 +- .../API/Controllers/SuccessesController.cs | 2 +- API_SQLuedo/API/Program.cs | 6 +- .../API/Service/ParagraphDataServiceAPI.cs | 22 ++-- .../Service/ParagraphDataService.cs | 58 ++++++--- API_SQLuedo/Shared/ParagraphDataService.cs | 116 ------------------ API_SQLuedo/TestConsoleAPI/Program.cs | 4 +- 8 files changed, 59 insertions(+), 153 deletions(-) delete mode 100644 API_SQLuedo/Shared/ParagraphDataService.cs diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index eaaec1b..ba99163 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -13,7 +13,7 @@ namespace API.Controllers [ApiController] public class LessonsController : Controller { - private ILessonService _lessonDataService; + private readonly ILessonService _lessonDataService; private readonly ILogger _logger; diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index 9196e21..9be8fd9 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -13,7 +13,7 @@ namespace API.Controllers [ApiController] public class ParagraphsController : Controller { - private IParagraphService _paragraphDataService; + private readonly IParagraphService _paragraphDataService; private readonly ILogger _logger; diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index 09df742..a399979 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -13,7 +13,7 @@ namespace API.Controllers [ApiController] public class SuccessesController : Controller { - private ISuccessService _successDataService; + private readonly ISuccessService _successDataService; private readonly ILogger _logger; diff --git a/API_SQLuedo/API/Program.cs b/API_SQLuedo/API/Program.cs index 060b520..98766d0 100644 --- a/API_SQLuedo/API/Program.cs +++ b/API_SQLuedo/API/Program.cs @@ -6,9 +6,7 @@ using DbDataManager.Service; using Dto; using Entities; using Microsoft.AspNetCore.Identity; -using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; using Microsoft.OpenApi.Models; using Shared; @@ -27,8 +25,8 @@ builder.Services.AddScoped, Shared.UserDataService>(); builder.Services.AddScoped, InquiryDataService>(); builder.Services.AddScoped, InquiryDataServiceApi>(); -builder.Services.AddScoped, DbDataManager.Service.ParagraphDataService>(); -builder.Services.AddScoped, Shared.ParagraphDataService>(); +builder.Services.AddScoped, ParagraphDataService>(); +builder.Services.AddScoped, ParagraphDataServiceApi>(); builder.Services.AddScoped, DbDataManager.Service.SuccessDataService>(); builder.Services.AddScoped, Shared.SuccessDataService>(); diff --git a/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs b/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs index c29f89d..af09a6b 100644 --- a/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs @@ -1,26 +1,28 @@ -using Entities; +using Dto; +using Entities; using Model.OrderCriteria; using Shared; +using Shared.Mapper; namespace API.Service; -public class ParagraphDataServiceApi(IParagraphService paragraphService) : IParagraphService +public class ParagraphDataServiceApi(IParagraphService paragraphService) : IParagraphService { - public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) + public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) { var paragraphsEntities = paragraphService.GetParagraphs(page, number, orderCriteria); - return paragraphsEntities.Select(e => e).ToList(); + return paragraphsEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public ParagraphEntity GetParagraphById(int id) => paragraphService.GetParagraphById(id); + public ParagraphDTO GetParagraphById(int id) => paragraphService.GetParagraphById(id).FromEntityToDTO(); - public ParagraphEntity GetParagraphByTitle(string title) => paragraphService.GetParagraphByTitle(title); + public ParagraphDTO GetParagraphByTitle(string title) => paragraphService.GetParagraphByTitle(title).FromEntityToDTO(); public bool DeleteParagraph(int id) => paragraphService.DeleteParagraph(id); - public ParagraphEntity UpdateParagraph(int id, ParagraphEntity paragraph) => - paragraphService.UpdateParagraph(id, paragraph); + public ParagraphDTO UpdateParagraph(int id, ParagraphDTO paragraph) => + paragraphService.UpdateParagraph(id, paragraph.FromDTOToEntity()).FromEntityToDTO(); - public ParagraphEntity CreateParagraph(string title, string content, string info, string query, string comment, int lessonId) => - paragraphService.CreateParagraph(title, content, info, query, comment, lessonId); + public ParagraphDTO CreateParagraph(string title, string content, string info, string query, string comment, int lessonId) => + paragraphService.CreateParagraph(title, content, info, query, comment, lessonId).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs b/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs index d561261..fa92a29 100644 --- a/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs @@ -16,6 +16,36 @@ public class ParagraphDataService : IParagraphService context.Database.EnsureCreated(); } + public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) + { + IQueryable query = DbContext.Paragraphs.Skip((page - 1) * number).Take(number); + switch (orderCriteria) + { + case ParagraphOrderCriteria.None: + break; + case ParagraphOrderCriteria.ByTitle: + query = query.OrderBy(s => s.Title); + break; + case ParagraphOrderCriteria.ByContent: + query = query.OrderBy(s => s.Content); + break; + case ParagraphOrderCriteria.ByInfo: + query = query.OrderBy(s => s.Info); + break; + case ParagraphOrderCriteria.ByQuery: + query = query.OrderBy(s => s.Query); + break; + case ParagraphOrderCriteria.ByComment: + query = query.OrderBy(s => s.Comment); + break; + default: + break; + } + + var paragraphs = query.ToList(); + return paragraphs.Select(s => s); + } + public ParagraphEntity GetParagraphById(int id) { var paragraphEntity = DbContext.Paragraphs.FirstOrDefault(u => u.Id == id); @@ -38,15 +68,9 @@ public class ParagraphDataService : IParagraphService return paragraphEntity; } - public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) - { - return DbContext.Paragraphs.Skip((page - 1) * number).Take(number).ToList() - .Select(u => u); - } - public bool DeleteParagraph(int id) { - var paragraphEntity = DbContext.Paragraphs.FirstOrDefault(u => u.Id == id); + var paragraphEntity = DbContext.Paragraphs.FirstOrDefault(p => p.Id == id); if (paragraphEntity == null) { return false; @@ -57,27 +81,25 @@ public class ParagraphDataService : IParagraphService return true; } - public ParagraphEntity UpdateParagraph(int id, ParagraphEntity paragraph) + public ParagraphEntity UpdateParagraph(int id, ParagraphEntity paragraphDTO) { - var updatingParagraph = DbContext.Paragraphs.FirstOrDefault(u => u.Id == id); + var updatingParagraph = DbContext.Paragraphs.FirstOrDefault(p => p.Id == id); if (updatingParagraph == null) { throw new ArgumentException("Impossible de trouver le paragraphe", nameof(id)); } - updatingParagraph.Title = paragraph.Title; - updatingParagraph.Content = paragraph.Content; - updatingParagraph.Info = paragraph.Info; - updatingParagraph.Query = paragraph.Query; - updatingParagraph.Comment = paragraph.Comment; - updatingParagraph.LessonId = paragraph.LessonId; - // Permet d'indiquer en Db que l'entité a été modifiée. - DbContext.Entry(updatingParagraph).State = EntityState.Modified; + updatingParagraph.Title = paragraphDTO.Title; + updatingParagraph.Content = paragraphDTO.Content; + updatingParagraph.Info = paragraphDTO.Info; + updatingParagraph.Query = paragraphDTO.Query; + updatingParagraph.Comment = paragraphDTO.Comment; DbContext.SaveChangesAsync(); return updatingParagraph; } - public ParagraphEntity CreateParagraph(string title, string content, string info, string query, string comment, int lessonId) + public ParagraphEntity CreateParagraph(string title, string content, string info, string query, string comment, + int lessonId) { var newParagraphEntity = new ParagraphEntity() { diff --git a/API_SQLuedo/Shared/ParagraphDataService.cs b/API_SQLuedo/Shared/ParagraphDataService.cs deleted file mode 100644 index 7954f78..0000000 --- a/API_SQLuedo/Shared/ParagraphDataService.cs +++ /dev/null @@ -1,116 +0,0 @@ -using Entities; -using Microsoft.EntityFrameworkCore; -using Dto; -using DbContextLib; -using Model.OrderCriteria; -using Shared; -using Shared.Mapper; - -namespace Shared; - -public class ParagraphDataService : IParagraphDataService -{ - private UserDbContext DbContext { get; set; } - public ParagraphDataService(UserDbContext context) - { - DbContext = context; - context.Database.EnsureCreated(); - } - - public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) - { - IQueryable query = DbContext.Paragraphs.Skip((page - 1) * number).Take(number); - switch (orderCriteria) - { - case ParagraphOrderCriteria.None: - break; - case ParagraphOrderCriteria.ByTitle: - query = query.OrderBy(s => s.Title); - break; - case ParagraphOrderCriteria.ByContent: - query = query.OrderBy(s => s.Content); - break; - case ParagraphOrderCriteria.ByInfo: - query = query.OrderBy(s => s.Info); - break; - case ParagraphOrderCriteria.ByQuery: - query = query.OrderBy(s => s.Query); - break; - case ParagraphOrderCriteria.ByComment: - query = query.OrderBy(s => s.Comment); - break; - default: - break; - } - var paragraphs = query.ToList(); - return paragraphs.Select(s => s.FromEntityToDTO()); - } - - public ParagraphDTO GetParagraphById(int id) - { - var paragraphEntity = DbContext.Paragraphs.FirstOrDefault(u => u.Id == id); - if (paragraphEntity == null) - { - throw new ArgumentException("Impossible de trouver le paragraphe", nameof(id)); - } - - return paragraphEntity.FromEntityToDTO(); - } - - public ParagraphDTO GetParagraphByTitle(string title) - { - var paragraphEntity = DbContext.Paragraphs.FirstOrDefault(u => u.Title == title); - if (paragraphEntity == null) - { - throw new ArgumentException("Impossible de trouver le paragraphe", nameof(title)); - } - - return paragraphEntity.FromEntityToDTO(); - } - - public bool DeleteParagraph(int id) - { - var paragraphEntity = DbContext.Paragraphs.FirstOrDefault(p => p.Id == id); - if (paragraphEntity == null) - { - return false; - } - - DbContext.Paragraphs.Remove(paragraphEntity); - DbContext.SaveChangesAsync(); - return true; - } - - public ParagraphDTO UpdateParagraph(int id, ParagraphDTO paragraphDTO) - { - var updatingParagraph = DbContext.Paragraphs.FirstOrDefault(p => p.Id == id); - if (updatingParagraph == null) - { - throw new ArgumentException("Impossible de trouver le paragraphe", nameof(id)); - } - - updatingParagraph.Title = paragraphDTO.Title; - updatingParagraph.Content = paragraphDTO.Content; - updatingParagraph.Info = paragraphDTO.Info; - updatingParagraph.Query = paragraphDTO.Query; - updatingParagraph.Comment = paragraphDTO.Comment; - DbContext.SaveChangesAsync(); - return updatingParagraph.FromEntityToDTO(); - } - - public ParagraphDTO CreateParagraph(string title, string content, string info, string query, string comment, int lessonId) - { - var newParagraphEntity = new ParagraphDTO() - { - Title = title, - Content = content, - Info = info, - Query = query, - Comment = comment, - LessonId = lessonId - }; - DbContext.Paragraphs.Add(newParagraphEntity.FromDTOToEntity()); - DbContext.SaveChangesAsync(); - return newParagraphEntity; - } -} \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 5c6486a..6921e72 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -10,8 +10,8 @@ using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Model.OrderCriteria; -using ParagraphDataService = Shared.ParagraphDataService; using Service_LessonDataService = DbDataManager.Service.LessonDataService; +using Service_ParagraphDataService = DbDataManager.Service.ParagraphDataService; using SuccessDataService = Shared.SuccessDataService; using UserDataService = Shared.UserDataService; @@ -33,7 +33,7 @@ using (var context = new UserDbContext(options)) var userController = new UsersController(userLogger, new UserDataService(context)); var inquiryController = new InquiriesController(new InquiryDataServiceApi(new InquiryDataService(context)), inquiryLogger); - var paragraphController = new ParagraphsController(new ParagraphDataService(context), paragraphLogger); + var paragraphController = new ParagraphsController(new ParagraphDataServiceApi(new Service_ParagraphDataService(context)), paragraphLogger); var lessonController = new LessonsController(new LessonDataServiceApi(new Service_LessonDataService(context)), lessonLogger); var successController = new SuccessesController(new SuccessDataService(context), successLogger); From 5686b7267a13b96c340962da1ba7b5995efac37b Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 17:07:01 +0100 Subject: [PATCH 17/50] =?UTF-8?q?Am=C3=A9lioration=20du=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/InquiryDataService.cs | 2 +- .../Service/LessonDataService.cs | 2 +- .../Service/ParagraphDataService.cs | 2 +- API_SQLuedo/Shared/SuccessDataService.cs | 103 ------------------ 4 files changed, 3 insertions(+), 106 deletions(-) delete mode 100644 API_SQLuedo/Shared/SuccessDataService.cs diff --git a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs index df9c2ce..8244c63 100644 --- a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs @@ -37,7 +37,7 @@ public class InquiryDataService : IInquiryService } var inquiries = query.ToList(); - return inquiries.Select(s => s); + return inquiries; } public InquiryEntity GetInquiryById(int id) diff --git a/API_SQLuedo/DbDataManager/Service/LessonDataService.cs b/API_SQLuedo/DbDataManager/Service/LessonDataService.cs index c932f74..41838ad 100644 --- a/API_SQLuedo/DbDataManager/Service/LessonDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/LessonDataService.cs @@ -37,7 +37,7 @@ public class LessonDataService : ILessonService } var lessons = query.ToList(); - return lessons.Select(s => s); + return lessons; } public LessonEntity GetLessonById(int id) diff --git a/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs b/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs index fa92a29..d50e0fb 100644 --- a/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs @@ -43,7 +43,7 @@ public class ParagraphDataService : IParagraphService } var paragraphs = query.ToList(); - return paragraphs.Select(s => s); + return paragraphs; } public ParagraphEntity GetParagraphById(int id) diff --git a/API_SQLuedo/Shared/SuccessDataService.cs b/API_SQLuedo/Shared/SuccessDataService.cs deleted file mode 100644 index f2f7b88..0000000 --- a/API_SQLuedo/Shared/SuccessDataService.cs +++ /dev/null @@ -1,103 +0,0 @@ -using Entities; -using Microsoft.EntityFrameworkCore; -using Dto; -using DbContextLib; -using Model.OrderCriteria; -using Shared.Mapper; - -namespace Shared; - -public class SuccessDataService : ISuccessDataService -{ - private UserDbContext DbContext { get; set; } - public SuccessDataService(UserDbContext context) - { - DbContext = context; - context.Database.EnsureCreated(); - } - public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) - { - IQueryable query = DbContext.Successes.Skip((page - 1) * number).Take(number); - switch (orderCriteria) - { - case SuccessOrderCriteria.None: - break; - case SuccessOrderCriteria.ByUserId: - query = query.OrderBy(s => s.UserId); - break; - case SuccessOrderCriteria.ByInquiryId: - query = query.OrderBy(s => s.InquiryId); - break; - case SuccessOrderCriteria.ByIsFinished: - query = query.OrderBy(s => s.IsFinished); - break; - default: - break; - } - var successes = query.ToList(); - return successes.Select(s => s.FromEntityToDTO()); - } - - public SuccessDTO GetSuccessByUserId(int id) - { - var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); - if (userEntity == null) - { - throw new ArgumentException("Impossible de trouver le succès", nameof(id)); - } - - return userEntity.FromEntityToDTO(); - } - - public SuccessDTO GetSuccessByInquiryId(int id) - { - var userEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id); - if (userEntity == null) - { - throw new ArgumentException("Impossible de trouver le succès", nameof(id)); - } - - return userEntity.FromEntityToDTO(); - } - - public bool DeleteSuccess(int id) - { - var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); - if (successEntity == null) - { - return false; - } - - DbContext.Successes.Remove(successEntity); - DbContext.SaveChangesAsync(); - return true; - } - - public SuccessDTO UpdateSuccess(int id, SuccessDTO success) - { - var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == id); - if (updatingSuccess == null) - { - throw new ArgumentException("Impossible de trouver le succès", nameof(id)); - } - - updatingSuccess.UserId = success.UserId; - updatingSuccess.InquiryId = success.InquiryId; - updatingSuccess.IsFinished = success.IsFinished; - DbContext.SaveChangesAsync(); - return updatingSuccess.FromEntityToDTO(); - } - - public SuccessDTO CreateSuccess(int userId, int inquiryId, bool isFinished) - { - var newSuccessEntity = new SuccessDTO() - { - UserId = userId, - InquiryId = inquiryId, - IsFinished = isFinished, - }; - DbContext.Successes.Add(newSuccessEntity.FromDTOToEntity()); - DbContext.SaveChangesAsync(); - return newSuccessEntity; - } -} \ No newline at end of file From 4eee15fa4dc630776cab45650a4e3afb144e4b28 Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 17:07:21 +0100 Subject: [PATCH 18/50] =?UTF-8?q?Modification=20du=20service=20des=20succ?= =?UTF-8?q?=C3=A8s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/API/Program.cs | 4 +- .../API/Service/SuccessDataServiceAPI.cs | 22 ++++---- .../Service/SuccessDataService.cs | 54 ++++++++++++------- API_SQLuedo/TestConsoleAPI/Program.cs | 4 +- 4 files changed, 51 insertions(+), 33 deletions(-) diff --git a/API_SQLuedo/API/Program.cs b/API_SQLuedo/API/Program.cs index 98766d0..286d6a2 100644 --- a/API_SQLuedo/API/Program.cs +++ b/API_SQLuedo/API/Program.cs @@ -28,8 +28,8 @@ builder.Services.AddScoped, InquiryDataServiceApi>() builder.Services.AddScoped, ParagraphDataService>(); builder.Services.AddScoped, ParagraphDataServiceApi>(); -builder.Services.AddScoped, DbDataManager.Service.SuccessDataService>(); -builder.Services.AddScoped, Shared.SuccessDataService>(); +builder.Services.AddScoped, SuccessDataService>(); +builder.Services.AddScoped, SuccessDataServiceApi>(); builder.Services.AddScoped, LessonDataService>(); builder.Services.AddScoped, LessonDataServiceApi>(); diff --git a/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs b/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs index 7433a91..af403c5 100644 --- a/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs @@ -1,26 +1,28 @@ -using Entities; +using Dto; +using Entities; using Model.OrderCriteria; using Shared; +using Shared.Mapper; namespace API.Service; -public class SuccessDataServiceApi(ISuccessService sucessService) : ISuccessService +public class SuccessDataServiceApi(ISuccessService sucessService) : ISuccessService { - public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) + public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) { var successesEntities = sucessService.GetSuccesses(page, number, orderCriteria); - return successesEntities.Select(e => e).ToList(); + return successesEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public SuccessEntity GetSuccessByUserId(int id) => sucessService.GetSuccessByUserId(id); + public SuccessDTO GetSuccessByUserId(int id) => sucessService.GetSuccessByUserId(id).FromEntityToDTO(); - public SuccessEntity GetSuccessByInquiryId(int id) => sucessService.GetSuccessByInquiryId(id); + public SuccessDTO GetSuccessByInquiryId(int id) => sucessService.GetSuccessByInquiryId(id).FromEntityToDTO(); public bool DeleteSuccess(int id) => sucessService.DeleteSuccess(id); - public SuccessEntity UpdateSuccess(int id, SuccessEntity success) => - sucessService.UpdateSuccess(id, success); + public SuccessDTO UpdateSuccess(int id, SuccessDTO success) => + sucessService.UpdateSuccess(id, success.FromDTOToEntity()).FromEntityToDTO(); - public SuccessEntity CreateSuccess(int userId, int inquiryId, bool isFinished) => - sucessService.CreateSuccess(userId, inquiryId, isFinished); + public SuccessDTO CreateSuccess(int userId, int inquiryId, bool isFinished) => + sucessService.CreateSuccess(userId, inquiryId, isFinished).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs b/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs index 4a079fa..22e3b2e 100644 --- a/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs @@ -16,43 +16,61 @@ public class SuccessDataService : ISuccessService context.Database.EnsureCreated(); } - public SuccessEntity GetSuccessByUserId(int id) + public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) { - var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); - if (successEntity == null) + IQueryable query = DbContext.Successes.Skip((page - 1) * number).Take(number); + switch (orderCriteria) { - throw new ArgumentException("Impossible de trouver le succès avec l'user id", nameof(id)); + case SuccessOrderCriteria.None: + break; + case SuccessOrderCriteria.ByUserId: + query = query.OrderBy(s => s.UserId); + break; + case SuccessOrderCriteria.ByInquiryId: + query = query.OrderBy(s => s.InquiryId); + break; + case SuccessOrderCriteria.ByIsFinished: + query = query.OrderBy(s => s.IsFinished); + break; + default: + break; } - return successEntity; + var successes = query.ToList(); + return successes; } - public SuccessEntity GetSuccessByInquiryId(int id) + public SuccessEntity GetSuccessByUserId(int id) { - var successEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id); - if (successEntity == null) + var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); + if (userEntity == null) { - throw new ArgumentException("Impossible de trouver le succès avec l'inquiry id", nameof(id)); + throw new ArgumentException("Impossible de trouver le succès", nameof(id)); } - return successEntity; + return userEntity; } - public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) + public SuccessEntity GetSuccessByInquiryId(int id) { - return DbContext.Successes.Skip((page - 1) * number).Take(number).ToList() - .Select(u => u); + var userEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id); + if (userEntity == null) + { + throw new ArgumentException("Impossible de trouver le succès", nameof(id)); + } + + return userEntity; } public bool DeleteSuccess(int id) { - var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); - if (userEntity == null) + var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); + if (successEntity == null) { return false; } - DbContext.Successes.Remove(userEntity); + DbContext.Successes.Remove(successEntity); DbContext.SaveChangesAsync(); return true; } @@ -62,14 +80,12 @@ public class SuccessDataService : ISuccessService var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == id); if (updatingSuccess == null) { - throw new ArgumentException("Impossible de trouver le succès avec l'user id", nameof(id)); + throw new ArgumentException("Impossible de trouver le succès", nameof(id)); } updatingSuccess.UserId = success.UserId; updatingSuccess.InquiryId = success.InquiryId; updatingSuccess.IsFinished = success.IsFinished; - // Permet d'indiquer en Db que l'entité a été modifiée. - DbContext.Entry(updatingSuccess).State = EntityState.Modified; DbContext.SaveChangesAsync(); return updatingSuccess; } diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 6921e72..9243568 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -12,7 +12,7 @@ using Microsoft.Extensions.Logging; using Model.OrderCriteria; using Service_LessonDataService = DbDataManager.Service.LessonDataService; using Service_ParagraphDataService = DbDataManager.Service.ParagraphDataService; -using SuccessDataService = Shared.SuccessDataService; +using Service_SuccessDataService = DbDataManager.Service.SuccessDataService; using UserDataService = Shared.UserDataService; var connection = new SqliteConnection("DataSource=:memory:"); @@ -36,7 +36,7 @@ using (var context = new UserDbContext(options)) var paragraphController = new ParagraphsController(new ParagraphDataServiceApi(new Service_ParagraphDataService(context)), paragraphLogger); var lessonController = new LessonsController(new LessonDataServiceApi(new Service_LessonDataService(context)), lessonLogger); - var successController = new SuccessesController(new SuccessDataService(context), successLogger); + var successController = new SuccessesController(new SuccessDataServiceApi(new Service_SuccessDataService(context)), successLogger); void PrintUsers() { From 1cff605b0d557c782e3d340fb7e1c2312dcdd254 Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 17:11:28 +0100 Subject: [PATCH 19/50] :construction: Modification du service User --- API_SQLuedo/API/Program.cs | 4 +- API_SQLuedo/API/Service/UserDataServiceAPI.cs | 22 ++-- .../DbDataManager/Service/UserDataService.cs | 31 ++++- API_SQLuedo/Shared/UserDataService.cs | 121 ------------------ API_SQLuedo/TestConsoleAPI/Program.cs | 11 +- 5 files changed, 45 insertions(+), 144 deletions(-) delete mode 100644 API_SQLuedo/Shared/UserDataService.cs diff --git a/API_SQLuedo/API/Program.cs b/API_SQLuedo/API/Program.cs index 286d6a2..a2ef3df 100644 --- a/API_SQLuedo/API/Program.cs +++ b/API_SQLuedo/API/Program.cs @@ -19,8 +19,8 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); -builder.Services.AddScoped, DbDataManager.Service.UserDataService>(); -builder.Services.AddScoped, Shared.UserDataService>(); +builder.Services.AddScoped, UserDataService>(); +builder.Services.AddScoped, UserDataServiceApi>(); builder.Services.AddScoped, InquiryDataService>(); builder.Services.AddScoped, InquiryDataServiceApi>(); diff --git a/API_SQLuedo/API/Service/UserDataServiceAPI.cs b/API_SQLuedo/API/Service/UserDataServiceAPI.cs index c1d4997..482a679 100644 --- a/API_SQLuedo/API/Service/UserDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/UserDataServiceAPI.cs @@ -1,26 +1,28 @@ -using Entities; +using Dto; +using Entities; using Model.OrderCriteria; using Shared; +using Shared.Mapper; namespace API.Service; -public class UserDataServiceApi(IUserService userService) : IUserService +public class UserDataServiceApi(IUserService userService) : IUserService { - public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria) + public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria) { var usersEntities = userService.GetUsers(page, number, orderCriteria); - return usersEntities.Select(e => e).ToList(); + return usersEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public UserEntity GetUserById(int id) => userService.GetUserById(id); + public UserDTO GetUserById(int id) => userService.GetUserById(id).FromEntityToDTO(); - public UserEntity GetUserByUsername(string username) => userService.GetUserByUsername(username); + public UserDTO GetUserByUsername(string username) => userService.GetUserByUsername(username).FromEntityToDTO(); public bool DeleteUser(int id) => userService.DeleteUser(id); - public UserEntity UpdateUser(int id, UserEntity user) => - userService.UpdateUser(id, user); + public UserDTO UpdateUser(int id, UserDTO user) => + userService.UpdateUser(id, user.FromDTOToEntity()).FromEntityToDTO(); - public UserEntity CreateUser(string username, string password, string email, bool isAdmin) => - userService.CreateUser(username, password, email, isAdmin); + public UserDTO CreateUser(string username, string password, string email, bool isAdmin) => + userService.CreateUser(username, password, email, isAdmin).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/DbDataManager/Service/UserDataService.cs b/API_SQLuedo/DbDataManager/Service/UserDataService.cs index b4de650..b3c30dd 100644 --- a/API_SQLuedo/DbDataManager/Service/UserDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/UserDataService.cs @@ -1,6 +1,5 @@ using DbContextLib; using Entities; -using Microsoft.EntityFrameworkCore; using Model.OrderCriteria; using Shared; @@ -8,7 +7,6 @@ namespace DbDataManager.Service; public class UserDataService : IUserService { - private UserDbContext DbContext { get; set; } public UserDataService(UserDbContext context) @@ -41,8 +39,29 @@ public class UserDataService : IUserService public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria) { - return DbContext.Users.Skip((page - 1) * number).Take(number).ToList() - .Select(u => u); + IQueryable query = DbContext.Users.Skip((page - 1) * number).Take(number); + switch (orderCriteria) + { + case UserOrderCriteria.None: + break; + case UserOrderCriteria.ById: + query = query.OrderBy(s => s.Id); + break; + case UserOrderCriteria.ByUsername: + query = query.OrderBy(s => s.Username); + break; + case UserOrderCriteria.ByEmail: + query = query.OrderBy(s => s.Email); + break; + case UserOrderCriteria.ByIsAdmin: + query = query.OrderBy(s => s.IsAdmin); + break; + default: + break; + } + + var users = query.ToList(); + return users; } public bool DeleteUser(int id) @@ -70,15 +89,13 @@ public class UserDataService : IUserService updatingUser.Password = user.Password; updatingUser.Email = user.Email; updatingUser.IsAdmin = user.IsAdmin; - // Permet d'indiquer en Db que l'entité a été modifiée. - DbContext.Entry(updatingUser).State = EntityState.Modified; DbContext.SaveChangesAsync(); return updatingUser; } public UserEntity CreateUser(string username, string password, string email, bool isAdmin) { - var newUserEntity = new UserEntity() + var newUserEntity = new UserEntity { Username = username, Password = password, diff --git a/API_SQLuedo/Shared/UserDataService.cs b/API_SQLuedo/Shared/UserDataService.cs deleted file mode 100644 index a90b809..0000000 --- a/API_SQLuedo/Shared/UserDataService.cs +++ /dev/null @@ -1,121 +0,0 @@ -using Dto; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using Entities; -using Shared.Mapper; -using DbContextLib; -using Model.OrderCriteria; - -namespace Shared -{ - public class UserDataService : IUserDataService - { - private UserDbContext DbContext { get; set; } - - public UserDataService(UserDbContext context) - { - DbContext = context; - context.Database.EnsureCreated(); - } - - public UserDTO GetUserById(int id) - { - var userEntity = DbContext.Users.FirstOrDefault(u => u.Id == id); - if (userEntity == null) - { - throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(id)); - } - - return userEntity.FromEntityToDTO(); - - } - - public UserDTO GetUserByUsername(string username) - { - var userEntity = DbContext.Users.FirstOrDefault(u => u.Username == username); - if (userEntity == null) - { - throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(username)); - } - - return userEntity.FromEntityToDTO(); - - } - - public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria) - { - IQueryable query = DbContext.Users.Skip((page - 1) * number).Take(number); - switch (orderCriteria) - { - case UserOrderCriteria.None: - break; - case UserOrderCriteria.ById: - query = query.OrderBy(s => s.Id); - break; - case UserOrderCriteria.ByUsername: - query = query.OrderBy(s => s.Username); - break; - case UserOrderCriteria.ByEmail: - query = query.OrderBy(s => s.Email); - break; - case UserOrderCriteria.ByIsAdmin: - query = query.OrderBy(s => s.IsAdmin); - break; - default: - break; - } - var users = query.ToList(); - return users.Select(s => s.FromEntityToDTO()); - } - - public bool DeleteUser(int id) - { - var userEntity = DbContext.Users.FirstOrDefault(u => u.Id == id); - if (userEntity == null) - { - return false; - } - - DbContext.Users.Remove(userEntity); - DbContext.SaveChangesAsync(); - return true; - - } - - public UserDTO UpdateUser(int id, UserDTO user) - { - var updatingUser = DbContext.Users.FirstOrDefault(u => u.Id == id); - if (updatingUser == null) - { - throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(id)); - } - - updatingUser.Username = user.Username; - updatingUser.Password = user.Password; - updatingUser.Email = user.Email; - updatingUser.IsAdmin = user.IsAdmin; - DbContext.SaveChangesAsync(); - return updatingUser.FromEntityToDTO(); - - } - - public UserDTO CreateUser(string username, string password, string email, bool isAdmin) - { - var newUserEntity = new UserDTO - { - Username = username, - Password = password, - Email = email, - IsAdmin = isAdmin - }; - DbContext.Users.Add(newUserEntity.FromDTOToEntity()); - DbContext.SaveChangesAsync(); - return newUserEntity; - - } - } -} diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 9243568..a3b4275 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -13,7 +13,7 @@ using Model.OrderCriteria; using Service_LessonDataService = DbDataManager.Service.LessonDataService; using Service_ParagraphDataService = DbDataManager.Service.ParagraphDataService; using Service_SuccessDataService = DbDataManager.Service.SuccessDataService; -using UserDataService = Shared.UserDataService; +using Service_UserDataService = DbDataManager.Service.UserDataService; var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); @@ -30,13 +30,16 @@ ILogger successLogger = factory.CreateLogger Date: Fri, 15 Mar 2024 17:16:01 +0100 Subject: [PATCH 20/50] =?UTF-8?q?Suppression=20d'interfaces=20typ=C3=A9s?= =?UTF-8?q?=20pour=20rien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/Shared/IInquiryDataService.cs | 14 -------------- API_SQLuedo/Shared/ILessonDataService.cs | 15 --------------- API_SQLuedo/Shared/IParagraphDataService.cs | 14 -------------- API_SQLuedo/Shared/ISuccessDataService.cs | 14 -------------- API_SQLuedo/Shared/IUserDataService.cs | 14 -------------- 5 files changed, 71 deletions(-) delete mode 100644 API_SQLuedo/Shared/IInquiryDataService.cs delete mode 100644 API_SQLuedo/Shared/ILessonDataService.cs delete mode 100644 API_SQLuedo/Shared/IParagraphDataService.cs delete mode 100644 API_SQLuedo/Shared/ISuccessDataService.cs delete mode 100644 API_SQLuedo/Shared/IUserDataService.cs diff --git a/API_SQLuedo/Shared/IInquiryDataService.cs b/API_SQLuedo/Shared/IInquiryDataService.cs deleted file mode 100644 index 79085f6..0000000 --- a/API_SQLuedo/Shared/IInquiryDataService.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Dto; -using Model.OrderCriteria; - -namespace Shared; - -public interface IInquiryDataService : IInquiryService -{ - public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria); - public InquiryDTO GetInquiryById(int id); - public InquiryDTO GetInquiryByTitle(string title); - public bool DeleteInquiry(int id); - public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry); - public InquiryDTO CreateInquiry(string title, string description, bool isUser); -} \ No newline at end of file diff --git a/API_SQLuedo/Shared/ILessonDataService.cs b/API_SQLuedo/Shared/ILessonDataService.cs deleted file mode 100644 index eb16c98..0000000 --- a/API_SQLuedo/Shared/ILessonDataService.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Dto; -using Model.OrderCriteria; - -namespace Shared; - -public interface ILessonDataService : ILessonService -{ - public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria); - public LessonDTO GetLessonById(int id); - public LessonDTO GetLessonByTitle(string title); - public bool DeleteLesson(int id); - public LessonDTO UpdateLesson(int id, LessonDTO lesson); - public LessonDTO CreateLesson(string title, string lastPublisher, DateOnly? lastEdit); - -} \ No newline at end of file diff --git a/API_SQLuedo/Shared/IParagraphDataService.cs b/API_SQLuedo/Shared/IParagraphDataService.cs deleted file mode 100644 index 1919860..0000000 --- a/API_SQLuedo/Shared/IParagraphDataService.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Dto; -using Model.OrderCriteria; - -namespace Shared; - -public interface IParagraphDataService : IParagraphService -{ - public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria); - public ParagraphDTO GetParagraphById(int id); - public ParagraphDTO GetParagraphByTitle(string title); - public bool DeleteParagraph(int id); - public ParagraphDTO UpdateParagraph(int id, ParagraphDTO paragraph); - public ParagraphDTO CreateParagraph(string title, string content, string info, string query, string comment, int lessonId); -} \ No newline at end of file diff --git a/API_SQLuedo/Shared/ISuccessDataService.cs b/API_SQLuedo/Shared/ISuccessDataService.cs deleted file mode 100644 index 701024d..0000000 --- a/API_SQLuedo/Shared/ISuccessDataService.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Dto; -using Model.OrderCriteria; - -namespace Shared; - -public interface ISuccessDataService : ISuccessService -{ - public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria); - public SuccessDTO GetSuccessByUserId(int id); - public SuccessDTO GetSuccessByInquiryId(int id); - public bool DeleteSuccess(int id); - public SuccessDTO UpdateSuccess(int id, SuccessDTO success); - public SuccessDTO CreateSuccess(int userId, int inquiryId, bool isFinished); -} \ No newline at end of file diff --git a/API_SQLuedo/Shared/IUserDataService.cs b/API_SQLuedo/Shared/IUserDataService.cs deleted file mode 100644 index 1e615a6..0000000 --- a/API_SQLuedo/Shared/IUserDataService.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Dto; -using Model.OrderCriteria; - -namespace Shared; - -public interface IUserDataService : IUserService -{ - public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria); - public UserDTO GetUserById(int id); - public UserDTO GetUserByUsername(string username); - public bool DeleteUser(int id); - public UserDTO UpdateUser(int id, UserDTO user); - public UserDTO CreateUser(string username, string password, string email, bool isAdmin); -} \ No newline at end of file From 61143c06b2fd8980a3f3ed2293715648eec4b1c3 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 17:20:49 +0100 Subject: [PATCH 21/50] Correction d'un appel Moq --- API_SQLuedo/TestAPI/UserUnitTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 4384d0c..4f3ba71 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -31,7 +31,7 @@ namespace TestAPI .Returns(userList); var userController = new UserController(new NullLogger(), userService.Object); - var userResult = userController.GetUsers(1,5); + var userResult = userController.GetUsers(1,3); if (userResult is OkObjectResult okObjectResult) { @@ -50,7 +50,7 @@ namespace TestAPI { var userList = GetUsersData(); userService.Setup(x => x.GetUsers(1, 3)) - .Returns(userList); + .Returns(new List()); var userController = new UserController(new NullLogger(), userService.Object); var userResult = userController.GetUsers(2,3); From 241802f3d587d494580a5287cf0606017792c07a Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 17:37:30 +0100 Subject: [PATCH 22/50] Formatage du code --- .../API/Controllers/InquiriesController.cs | 17 ++++-- .../API/Controllers/LessonsController.cs | 16 ++++-- .../API/Controllers/ParagraphsController.cs | 53 ++++++++++++------- .../API/Controllers/SuccessesController.cs | 53 ++++++++++++------- API_SQLuedo/API/Controllers/UserController.cs | 2 +- .../API/Service/ParagraphDataServiceAPI.cs | 9 ++-- API_SQLuedo/API/WebAPIDbContext.cs | 6 ++- API_SQLuedo/DbContextLib/UserDbContext.cs | 9 +++- .../Service/InquiryDataService.cs | 9 ++-- .../Service/LessonDataService.cs | 9 ++-- .../Service/ParagraphDataService.cs | 13 ++--- .../Service/SuccessDataService.cs | 9 ++-- .../DbDataManager/Service/UserDataService.cs | 10 ++-- API_SQLuedo/Dto/InquiryDTO.cs | 2 +- API_SQLuedo/Dto/InquiryTableDTO.cs | 5 +- API_SQLuedo/Dto/LessonDTO.cs | 5 +- API_SQLuedo/Dto/NotepadDTO.cs | 5 +- API_SQLuedo/Dto/ParagraphDTO.cs | 12 ++--- API_SQLuedo/Dto/SolutionDTO.cs | 13 +++-- API_SQLuedo/Dto/SuccessDTO.cs | 4 +- API_SQLuedo/Dto/UserDTO.cs | 5 +- .../EntityFramework/BlackListEntity.cs | 9 ++-- .../EntityFramework/InquiryTableEntity.cs | 6 ++- API_SQLuedo/EntityFramework/LessonEntity.cs | 4 +- API_SQLuedo/EntityFramework/NotepadEntity.cs | 11 ++-- API_SQLuedo/EntityFramework/SolutionEntity.cs | 19 +++++-- API_SQLuedo/EntityFramework/SuccessEntity.cs | 10 ++-- API_SQLuedo/Model/Inquiry.cs | 4 +- API_SQLuedo/Model/InquiryTable.cs | 6 ++- API_SQLuedo/Model/Notepad.cs | 7 ++- .../OrderCriteria/InquiryOrderCriteria.cs | 5 +- .../OrderCriteria/LessonOrderCriteria.cs | 5 +- .../OrderCriteria/ParagraphOrderCriteria.cs | 7 ++- .../OrderCriteria/SuccessOrderCriteria.cs | 5 +- .../Model/OrderCriteria/UserOrderCriteria.cs | 6 ++- API_SQLuedo/Model/Solution.cs | 13 +++-- API_SQLuedo/Model/Success.cs | 4 +- API_SQLuedo/Model/User.cs | 5 +- API_SQLuedo/Shared/IParagraphService.cs | 4 +- .../StubbedContextLib/StubbedContext.cs | 4 +- API_SQLuedo/TestAPI/UnitTest1.cs | 1 - API_SQLuedo/TestConsoleEf/Program.cs | 4 +- .../TestEF/EntitiesTests/TestInquiryEntity.cs | 18 +++---- .../EntitiesTests/TestInquiryTableEntity.cs | 30 +++++------ .../TestEF/EntitiesTests/TestLessonEntity.cs | 20 +++---- .../TestEF/EntitiesTests/TestNotepadEntity.cs | 38 ++++++------- .../EntitiesTests/TestParagraphEntity.cs | 28 +++++----- .../TestEF/EntitiesTests/TestSuccessEntity.cs | 24 ++++----- .../TestEF/EntitiesTests/TestUserEntity.cs | 11 ++-- 49 files changed, 359 insertions(+), 215 deletions(-) diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index 25977ab..daa748a 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -16,6 +16,7 @@ namespace API.Controllers private readonly IInquiryService _inquiryDataService; private readonly ILogger _logger; + public InquiriesController(IInquiryService inquiryDataService, ILogger logger) { _inquiryDataService = inquiryDataService; @@ -33,6 +34,7 @@ namespace API.Controllers _logger.LogError("[ERREUR] Aucune enquête trouvée."); return StatusCode(204); } + _logger.LogInformation("[INFORMATION] {nb} Enquête(s) trouvée(s)", nbInquiry); return Ok(_inquiryDataService.GetInquiries(page, number, orderCriteria)); } @@ -87,7 +89,6 @@ namespace API.Controllers _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); return NotFound(); } - } [HttpPost] @@ -99,8 +100,12 @@ namespace API.Controllers { return BadRequest(); } - _logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}", dto.Title, dto.Description, dto.IsUser); - return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser)); + + _logger.LogInformation( + "[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}", + dto.Title, dto.Description, dto.IsUser); + return Created(nameof(GetInquiries), + _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser)); } [HttpPut("inquiry/{id}")] @@ -114,16 +119,20 @@ namespace API.Controllers _logger.LogError("[ERREUR] Problème ID - La mise à jour de l'enquête avec l'id {id} a échouée.", id); return BadRequest(); } + if (!ModelState.IsValid) { - _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de l'enquête avec l'id {id} a échouée.", id); + _logger.LogError( + "[ERREUR] Problème controlleur - La mise à jour de l'enquête avec l'id {id} a échouée.", id); return BadRequest(); } + if (inquiryDTO != null) { _logger.LogInformation("[INFORMATION] La mise à jour de l'enquête avec l'id {id} a été effectuée", id); return Ok(_inquiryDataService.UpdateInquiry(id, inquiryDTO)); } + _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); return NotFound(); } diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index ba99163..eae7eb9 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -34,6 +34,7 @@ namespace API.Controllers _logger.LogError("[ERREUR] Aucune leçon trouvée."); return StatusCode(204); } + _logger.LogInformation("[INFORMATION] {nb} Leçon(s) trouvée(s)", nbLesson); return Ok(_lessonDataService.GetLessons(page, number, orderCriteria)); } @@ -88,7 +89,6 @@ namespace API.Controllers _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); return NotFound(); } - } [HttpPost] @@ -100,8 +100,12 @@ namespace API.Controllers { return BadRequest(); } - _logger.LogInformation("[INFORMATION] Une leçon a été créé : title - {title}, lastPublisher - {publisher}, lastEdit - {lastEdit}", dto.Title, dto.LastPublisher, dto.LastEdit); - return Created(nameof(GetLessons), _lessonDataService.CreateLesson(dto.Title, dto.LastPublisher, dto.LastEdit)); + + _logger.LogInformation( + "[INFORMATION] Une leçon a été créé : title - {title}, lastPublisher - {publisher}, lastEdit - {lastEdit}", + dto.Title, dto.LastPublisher, dto.LastEdit); + return Created(nameof(GetLessons), + _lessonDataService.CreateLesson(dto.Title, dto.LastPublisher, dto.LastEdit)); } [HttpPut("lesson/{id}")] @@ -115,16 +119,20 @@ namespace API.Controllers _logger.LogError("[ERREUR] Problème ID - La mise à jour de la leçon avec l'id {id} a échouée.", id); return BadRequest(); } + if (!ModelState.IsValid) { - _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de la leçon avec l'id {id} a échouée.", id); + _logger.LogError("[ERREUR] Problème controlleur - La mise à jour de la leçon avec l'id {id} a échouée.", + id); return BadRequest(); } + if (lessonDTO != null) { _logger.LogInformation("[INFORMATION] La mise à jour de la leçon avec l'id {id} a été effectuée", id); return Ok(_lessonDataService.UpdateLesson(id, lessonDTO)); } + _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); return NotFound(); } diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index 9be8fd9..7d648ea 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -17,7 +17,8 @@ namespace API.Controllers private readonly ILogger _logger; - public ParagraphsController(IParagraphService paragraphDataService, ILogger logger) + public ParagraphsController(IParagraphService paragraphDataService, + ILogger logger) { _paragraphDataService = paragraphDataService; _logger = logger; @@ -26,14 +27,15 @@ namespace API.Controllers [HttpGet("paragraphs/{page}/{number}/{orderCriteria}")] [ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(string), 204)] - public IActionResult GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) + public IActionResult GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) { - var nbParagraph = ( _paragraphDataService.GetParagraphs(page, number, orderCriteria)).ToList().Count(); - if(nbParagraph == 0) + var nbParagraph = (_paragraphDataService.GetParagraphs(page, number, orderCriteria)).ToList().Count(); + if (nbParagraph == 0) { _logger.LogError("[ERREUR] Aucun paragraphe trouvé."); return StatusCode(204); } + _logger.LogInformation("[INFORMATION] {nb} Paragraphe(s) trouvé(s)", nbParagraph); return Ok(_paragraphDataService.GetParagraphs(page, number, orderCriteria)); } @@ -47,7 +49,8 @@ namespace API.Controllers { _logger.LogInformation("[INFORMATION] Le paragraphe avec l'id {id} a été trouvé.", id); return Ok(_paragraphDataService.GetParagraphById(id)); - } catch (ArgumentException) + } + catch (ArgumentException) { _logger.LogError("[ERREUR] Aucun paragraphe trouvé avec l'id {id}.", id); return NotFound(); @@ -63,12 +66,12 @@ namespace API.Controllers { _logger.LogInformation("[INFORMATION] Le paragraphe avec le titre {title} a été trouvé.", title); return Ok(_paragraphDataService.GetParagraphByTitle(title)); - }catch (ArgumentException) + } + catch (ArgumentException) { _logger.LogError("[ERREUR] Aucun paragraphe trouvé avec le titre {title}.", title); return NotFound(); } - } [HttpDelete("paragraph/{id}")] @@ -77,16 +80,16 @@ namespace API.Controllers public IActionResult DeleteParagraph(int id) { var success = _paragraphDataService.DeleteParagraph(id); - if(success) + if (success) { _logger.LogInformation("[INFORMATION] Le paragraphe avec l'id {id} a été supprimé.", id); return Ok(_paragraphDataService.DeleteParagraph(id)); - } else + } + else { _logger.LogError("[ERREUR] Aucun paragraphe trouvé avec l'id {id}.", id); - return NotFound(); + return NotFound(); } - } [HttpPost] @@ -94,12 +97,18 @@ namespace API.Controllers [ProducesResponseType(typeof(string), 400)] public IActionResult CreateParagraph([FromBody] ParagraphDTO dto) { - if (dto.Title == null || dto.Content == null || dto.Info == null || dto.Query == null || dto.Comment == null) + if (dto.Title == null || dto.Content == null || dto.Info == null || dto.Query == null || + dto.Comment == null) { return BadRequest(); } - _logger.LogInformation("[INFORMATION] Un paragraphe a été créé : title - {title}, content - {content}, info - {info}, query - {query}, comment - {comment}", dto.Title, dto.Content, dto.Info, dto.Query, dto.Comment); - return Created(nameof(GetParagraphs), _paragraphDataService.CreateParagraph(dto.Title, dto.Content, dto.Info, dto.Query, dto.Comment, dto.LessonId)); + + _logger.LogInformation( + "[INFORMATION] Un paragraphe a été créé : title - {title}, content - {content}, info - {info}, query - {query}, comment - {comment}", + dto.Title, dto.Content, dto.Info, dto.Query, dto.Comment); + return Created(nameof(GetParagraphs), + _paragraphDataService.CreateParagraph(dto.Title, dto.Content, dto.Info, dto.Query, dto.Comment, + dto.LessonId)); } [HttpPut("paragraph/{id}")] @@ -108,23 +117,27 @@ namespace API.Controllers [ProducesResponseType(typeof(string), 404)] public IActionResult UpdateParagraph(int id, [FromBody] ParagraphDTO paragraphDTO) { - if(id != paragraphDTO.Id) + if (id != paragraphDTO.Id) { _logger.LogError("[ERREUR] Problème ID - La mise à jour du paragraphe avec l'id {id} a échouée.", id); return BadRequest(); } - if(!ModelState.IsValid) + + if (!ModelState.IsValid) { - _logger.LogError("[ERREUR] Problème controlleur - La mise à jour du paragraphe avec l'id {id} a échouée.", id); + _logger.LogError( + "[ERREUR] Problème controlleur - La mise à jour du paragraphe avec l'id {id} a échouée.", id); return BadRequest(); } - if(paragraphDTO != null) + + if (paragraphDTO != null) { _logger.LogInformation("[INFORMATION] La mise à jour du paragraphe avec l'id {id} a été effectuée", id); return Ok(_paragraphDataService.UpdateParagraph(id, paragraphDTO)); } + _logger.LogError("[ERREUR] Aucun paragraphe trouvé avec l'id {id}.", id); - return NotFound(); + return NotFound(); } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index a399979..28b0ddc 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -26,14 +26,15 @@ namespace API.Controllers [HttpGet("successes/{page}/{number}/{orderCriteria}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 204)] - public IActionResult GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) + public IActionResult GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) { var nbUser = (_successDataService.GetSuccesses(page, number, orderCriteria)).ToList().Count(); - if(nbUser == 0) + if (nbUser == 0) { _logger.LogError("[ERREUR] Aucun utilisateur trouvé."); return StatusCode(204); } + _logger.LogInformation("[INFORMATION] {nb} Utilisateur(s) trouvé(s)", nbUser); return Ok(_successDataService.GetSuccesses(page, number, orderCriteria)); } @@ -47,7 +48,8 @@ namespace API.Controllers { _logger.LogInformation("[INFORMATION] Le succès avec l'id de l'utilisateur {id} a été trouvé.", userId); return Ok(_successDataService.GetSuccessByUserId(userId)); - } catch (ArgumentException) + } + catch (ArgumentException) { _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id de l'utilisateur {id}.", userId); return NotFound(); @@ -61,14 +63,15 @@ namespace API.Controllers { try { - _logger.LogInformation("[INFORMATION] Utilisateur avec l'id de l'enquête {inquiryId} a été trouvé.", inquiryId); + _logger.LogInformation("[INFORMATION] Utilisateur avec l'id de l'enquête {inquiryId} a été trouvé.", + inquiryId); return Ok(_successDataService.GetSuccessByInquiryId(inquiryId)); - }catch (ArgumentException) + } + catch (ArgumentException) { _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id de l'enquête {inquiryId}.", inquiryId); return NotFound(); } - } [HttpDelete("success/{id}")] @@ -77,16 +80,16 @@ namespace API.Controllers public IActionResult DeleteSuccess(int id) { var success = _successDataService.DeleteSuccess(id); - if(success) + if (success) { _logger.LogInformation("[INFORMATION] Le succès avec l'id {id} a été supprimé.", id); return Ok(_successDataService.DeleteSuccess(id)); - } else + } + else { _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id {id}.", id); - return NotFound(); + return NotFound(); } - } [HttpPost] @@ -98,8 +101,11 @@ namespace API.Controllers { return BadRequest(); }*/ - _logger.LogInformation("[INFORMATION] Un succès a été créé : userId - {userId}, inquiryId - {inquiryId}, isFinished - {isFinished}", dto.UserId, dto.InquiryId, dto.IsFinished); - return Created(nameof(GetSuccesses), _successDataService.CreateSuccess(dto.UserId, dto.InquiryId, dto.IsFinished)); + _logger.LogInformation( + "[INFORMATION] Un succès a été créé : userId - {userId}, inquiryId - {inquiryId}, isFinished - {isFinished}", + dto.UserId, dto.InquiryId, dto.IsFinished); + return Created(nameof(GetSuccesses), + _successDataService.CreateSuccess(dto.UserId, dto.InquiryId, dto.IsFinished)); } [HttpPut("success/{id}")] @@ -108,23 +114,30 @@ namespace API.Controllers [ProducesResponseType(typeof(string), 404)] public IActionResult UpdateSuccess(int id, [FromBody] SuccessDTO successDTO) { - if(id != successDTO.UserId) + if (id != successDTO.UserId) { - _logger.LogError("[ERREUR] Problème ID - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", id); + _logger.LogError( + "[ERREUR] Problème ID - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", id); return BadRequest(); } - if(!ModelState.IsValid) + + if (!ModelState.IsValid) { - _logger.LogError("[ERREUR] Problème controlleur - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", id); + _logger.LogError( + "[ERREUR] Problème controlleur - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", + id); return BadRequest(); } - if(successDTO != null) + + if (successDTO != null) { - _logger.LogInformation("[INFORMATION] La mise à jour du succès avec l'id de l'utilisateur {id} a été effectuée", id); + _logger.LogInformation( + "[INFORMATION] La mise à jour du succès avec l'id de l'utilisateur {id} a été effectuée", id); return Ok(_successDataService.UpdateSuccess(id, successDTO)); } + _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id de l'utilisateur {id}.", id); - return NotFound(); + return NotFound(); } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 32dbe70..11717a9 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -72,7 +72,7 @@ namespace API.Controllers if (success) { logger.LogInformation("[INFORMATION] L'utilisateur avec l'id {id} a été supprimé.", id); - return Ok(userService.DeleteUser(id)); + return Ok(); } else { diff --git a/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs b/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs index af09a6b..3892c65 100644 --- a/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs @@ -6,7 +6,8 @@ using Shared.Mapper; namespace API.Service; -public class ParagraphDataServiceApi(IParagraphService paragraphService) : IParagraphService +public class ParagraphDataServiceApi(IParagraphService paragraphService) + : IParagraphService { public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) { @@ -16,13 +17,15 @@ public class ParagraphDataServiceApi(IParagraphService paragrap public ParagraphDTO GetParagraphById(int id) => paragraphService.GetParagraphById(id).FromEntityToDTO(); - public ParagraphDTO GetParagraphByTitle(string title) => paragraphService.GetParagraphByTitle(title).FromEntityToDTO(); + public ParagraphDTO GetParagraphByTitle(string title) => + paragraphService.GetParagraphByTitle(title).FromEntityToDTO(); public bool DeleteParagraph(int id) => paragraphService.DeleteParagraph(id); public ParagraphDTO UpdateParagraph(int id, ParagraphDTO paragraph) => paragraphService.UpdateParagraph(id, paragraph.FromDTOToEntity()).FromEntityToDTO(); - public ParagraphDTO CreateParagraph(string title, string content, string info, string query, string comment, int lessonId) => + public ParagraphDTO CreateParagraph(string title, string content, string info, string query, string comment, + int lessonId) => paragraphService.CreateParagraph(title, content, info, query, comment, lessonId).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/API/WebAPIDbContext.cs b/API_SQLuedo/API/WebAPIDbContext.cs index afc8996..9a060e7 100644 --- a/API_SQLuedo/API/WebAPIDbContext.cs +++ b/API_SQLuedo/API/WebAPIDbContext.cs @@ -6,6 +6,8 @@ namespace API { public class WebAPIDbContext : IdentityDbContext { - public WebAPIDbContext(DbContextOptions options) : base(options) { } + public WebAPIDbContext(DbContextOptions options) : base(options) + { + } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/DbContextLib/UserDbContext.cs b/API_SQLuedo/DbContextLib/UserDbContext.cs index 0bcf02a..7b48173 100644 --- a/API_SQLuedo/DbContextLib/UserDbContext.cs +++ b/API_SQLuedo/DbContextLib/UserDbContext.cs @@ -17,13 +17,18 @@ namespace DbContextLib public DbSet Solutions { get; set; } public DbSet Successes { get; set; } public DbSet Notepads { get; set; } - public UserDbContext(DbContextOptions options) : base(options) { } + + public UserDbContext(DbContextOptions options) : base(options) + { + } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseNpgsql("Host=localhost;Database=SQLuedo;Username=admin;Password=motdepasse"); } + base.OnConfiguring(optionsBuilder); } @@ -36,4 +41,4 @@ namespace DbContextLib base.OnModelCreating(modelBuilder); } } -} +} \ No newline at end of file diff --git a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs index 8244c63..f682367 100644 --- a/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/InquiryDataService.cs @@ -91,9 +91,12 @@ public class InquiryDataService : IInquiryService throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); } - updatingInquiry.Title = inquiry.Title; - updatingInquiry.Description = inquiry.Description; - updatingInquiry.IsUser = inquiry.IsUser; + foreach (var pptt in typeof(InquiryEntity).GetProperties() + .Where(p => p.CanWrite && p.Name != nameof(InquiryEntity.Id))) + { + pptt.SetValue(updatingInquiry, pptt.GetValue(inquiry)); + } + DbContext.SaveChangesAsync(); return updatingInquiry; } diff --git a/API_SQLuedo/DbDataManager/Service/LessonDataService.cs b/API_SQLuedo/DbDataManager/Service/LessonDataService.cs index 41838ad..024096b 100644 --- a/API_SQLuedo/DbDataManager/Service/LessonDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/LessonDataService.cs @@ -83,9 +83,12 @@ public class LessonDataService : ILessonService throw new ArgumentException("Impossible de trouver la leçon", nameof(id)); } - updatingLesson.Title = lesson.Title; - updatingLesson.LastPublisher = lesson.LastPublisher; - updatingLesson.LastEdit = lesson.LastEdit; + foreach (var pptt in typeof(LessonEntity).GetProperties() + .Where(p => p.CanWrite && p.Name != nameof(LessonEntity.Id))) + { + pptt.SetValue(updatingLesson, pptt.GetValue(lesson)); + } + DbContext.SaveChangesAsync(); return updatingLesson; } diff --git a/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs b/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs index d50e0fb..ddf2d34 100644 --- a/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/ParagraphDataService.cs @@ -81,7 +81,7 @@ public class ParagraphDataService : IParagraphService return true; } - public ParagraphEntity UpdateParagraph(int id, ParagraphEntity paragraphDTO) + public ParagraphEntity UpdateParagraph(int id, ParagraphEntity paragraph) { var updatingParagraph = DbContext.Paragraphs.FirstOrDefault(p => p.Id == id); if (updatingParagraph == null) @@ -89,11 +89,12 @@ public class ParagraphDataService : IParagraphService throw new ArgumentException("Impossible de trouver le paragraphe", nameof(id)); } - updatingParagraph.Title = paragraphDTO.Title; - updatingParagraph.Content = paragraphDTO.Content; - updatingParagraph.Info = paragraphDTO.Info; - updatingParagraph.Query = paragraphDTO.Query; - updatingParagraph.Comment = paragraphDTO.Comment; + foreach (var pptt in typeof(ParagraphEntity).GetProperties().Where(p => + p.CanWrite && p.Name != nameof(ParagraphEntity.Id) && p.Name != nameof(ParagraphEntity.LessonId))) + { + pptt.SetValue(updatingParagraph, pptt.GetValue(paragraph)); + } + DbContext.SaveChangesAsync(); return updatingParagraph; } diff --git a/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs b/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs index 22e3b2e..36335d3 100644 --- a/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs @@ -83,9 +83,12 @@ public class SuccessDataService : ISuccessService throw new ArgumentException("Impossible de trouver le succès", nameof(id)); } - updatingSuccess.UserId = success.UserId; - updatingSuccess.InquiryId = success.InquiryId; - updatingSuccess.IsFinished = success.IsFinished; + foreach (var pptt in typeof(SuccessEntity).GetProperties().Where(p => + p.CanWrite && p.Name != nameof(SuccessEntity.UserId) && p.Name != nameof(SuccessEntity.InquiryId))) + { + pptt.SetValue(updatingSuccess, pptt.GetValue(success)); + } + DbContext.SaveChangesAsync(); return updatingSuccess; } diff --git a/API_SQLuedo/DbDataManager/Service/UserDataService.cs b/API_SQLuedo/DbDataManager/Service/UserDataService.cs index b3c30dd..0162348 100644 --- a/API_SQLuedo/DbDataManager/Service/UserDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/UserDataService.cs @@ -85,10 +85,12 @@ public class UserDataService : IUserService throw new ArgumentException("Impossible de trouver l'utilisateur", nameof(id)); } - updatingUser.Username = user.Username; - updatingUser.Password = user.Password; - updatingUser.Email = user.Email; - updatingUser.IsAdmin = user.IsAdmin; + foreach (var pptt in typeof(UserEntity).GetProperties() + .Where(p => p.CanWrite && p.Name != nameof(UserEntity.Id))) + { + pptt.SetValue(updatingUser, pptt.GetValue(user)); + } + DbContext.SaveChangesAsync(); return updatingUser; } diff --git a/API_SQLuedo/Dto/InquiryDTO.cs b/API_SQLuedo/Dto/InquiryDTO.cs index 5a436ed..f3df8a3 100644 --- a/API_SQLuedo/Dto/InquiryDTO.cs +++ b/API_SQLuedo/Dto/InquiryDTO.cs @@ -2,7 +2,7 @@ public class InquiryDTO { - public int Id { get;} + public int Id { get; } public string Title { get; set; } diff --git a/API_SQLuedo/Dto/InquiryTableDTO.cs b/API_SQLuedo/Dto/InquiryTableDTO.cs index a636053..6c28790 100644 --- a/API_SQLuedo/Dto/InquiryTableDTO.cs +++ b/API_SQLuedo/Dto/InquiryTableDTO.cs @@ -2,12 +2,13 @@ public class InquiryTableDTO { - public int OwnerId { get; set; } public string DatabaseName { get; set; } public string ConnectionInfo { get; set; } - public InquiryTableDTO() { } + public InquiryTableDTO() + { + } public InquiryTableDTO(int ownerId, string databaseName, string connectionInfo) { diff --git a/API_SQLuedo/Dto/LessonDTO.cs b/API_SQLuedo/Dto/LessonDTO.cs index 8e70b4f..ab8008f 100644 --- a/API_SQLuedo/Dto/LessonDTO.cs +++ b/API_SQLuedo/Dto/LessonDTO.cs @@ -8,7 +8,10 @@ public class LessonDTO public DateOnly? LastEdit { get; set; } public ICollection Content { get; set; } = new List(); - public LessonDTO() { } + public LessonDTO() + { + } + public LessonDTO(int id, string title, string lastPublisher, DateOnly? lastEdit) { Id = id; diff --git a/API_SQLuedo/Dto/NotepadDTO.cs b/API_SQLuedo/Dto/NotepadDTO.cs index c49e155..0c14762 100644 --- a/API_SQLuedo/Dto/NotepadDTO.cs +++ b/API_SQLuedo/Dto/NotepadDTO.cs @@ -7,7 +7,9 @@ public class NotepadDTO public int InquiryId { get; set; } public string Notes { get; set; } - public NotepadDTO() { } + public NotepadDTO() + { + } public NotepadDTO(int id, int userId, int inquiryId, string notes) { @@ -16,6 +18,7 @@ public class NotepadDTO InquiryId = inquiryId; Notes = notes; } + public NotepadDTO(int userId, int inquiryId, string notes) { UserId = userId; diff --git a/API_SQLuedo/Dto/ParagraphDTO.cs b/API_SQLuedo/Dto/ParagraphDTO.cs index f6925dd..9e08d8f 100644 --- a/API_SQLuedo/Dto/ParagraphDTO.cs +++ b/API_SQLuedo/Dto/ParagraphDTO.cs @@ -19,7 +19,7 @@ public class ParagraphDTO : ContentLessonDTO Comment = comment; } - public ParagraphDTO(int id, string title, string content, string info, string query, string comment, int lessonId) : + public ParagraphDTO(int id, string title, string content, string info, string query, string comment, int lessonId) : base(id, content, title, lessonId) { @@ -29,9 +29,9 @@ public class ParagraphDTO : ContentLessonDTO Info = info; Query = query; Comment = comment; - } - - public ParagraphDTO() : base() - { - } + } + + public ParagraphDTO() : base() + { + } } \ No newline at end of file diff --git a/API_SQLuedo/Dto/SolutionDTO.cs b/API_SQLuedo/Dto/SolutionDTO.cs index b13daf6..e5087c2 100644 --- a/API_SQLuedo/Dto/SolutionDTO.cs +++ b/API_SQLuedo/Dto/SolutionDTO.cs @@ -8,8 +8,13 @@ public class SolutionDTO public string MurderPlace { get; set; } public string MurderWeapon { get; set; } public string Explanation { get; set; } - public SolutionDTO() { } - public SolutionDTO(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) + + public SolutionDTO() + { + } + + public SolutionDTO(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, + string murderWeapon, string explanation) { OwnerId = ownerId; MurdererFirstName = murdererFirstName; @@ -18,7 +23,9 @@ public class SolutionDTO MurderWeapon = murderWeapon; Explanation = explanation; } - public SolutionDTO(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) + + public SolutionDTO(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, + string explanation) { MurdererFirstName = murdererFirstName; MurdererLastName = murdererLastName; diff --git a/API_SQLuedo/Dto/SuccessDTO.cs b/API_SQLuedo/Dto/SuccessDTO.cs index 87c26a3..579f209 100644 --- a/API_SQLuedo/Dto/SuccessDTO.cs +++ b/API_SQLuedo/Dto/SuccessDTO.cs @@ -6,7 +6,9 @@ public class SuccessDTO public int InquiryId { get; set; } public bool IsFinished { get; set; } - public SuccessDTO() { } + public SuccessDTO() + { + } public SuccessDTO(int userId, int inquiryId, bool isFinished) { diff --git a/API_SQLuedo/Dto/UserDTO.cs b/API_SQLuedo/Dto/UserDTO.cs index b2553f5..85d6ac7 100644 --- a/API_SQLuedo/Dto/UserDTO.cs +++ b/API_SQLuedo/Dto/UserDTO.cs @@ -8,7 +8,10 @@ public class UserDTO public string Email { get; set; } public bool IsAdmin { get; set; } - public UserDTO() { } + public UserDTO() + { + } + public UserDTO(int id, string username, string password, string email, bool isAdmin) { Id = id; diff --git a/API_SQLuedo/EntityFramework/BlackListEntity.cs b/API_SQLuedo/EntityFramework/BlackListEntity.cs index e4b744b..8a2ce16 100644 --- a/API_SQLuedo/EntityFramework/BlackListEntity.cs +++ b/API_SQLuedo/EntityFramework/BlackListEntity.cs @@ -6,10 +6,13 @@ namespace Entities; [Table("BlackList")] public class BlackListEntity { - [Key] - public string Email { get; set; } + [Key] public string Email { get; set; } public DateOnly ExpirationDate { get; set; } - public BlackListEntity() { } + + public BlackListEntity() + { + } + public BlackListEntity(string email, DateOnly expirationDate) { Email = email; diff --git a/API_SQLuedo/EntityFramework/InquiryTableEntity.cs b/API_SQLuedo/EntityFramework/InquiryTableEntity.cs index c8798b9..3fe43db 100644 --- a/API_SQLuedo/EntityFramework/InquiryTableEntity.cs +++ b/API_SQLuedo/EntityFramework/InquiryTableEntity.cs @@ -11,16 +11,20 @@ public class InquiryTableEntity [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Required] public int OwnerId { get; set; } + public InquiryEntity Owner { get; set; } public string DatabaseName { get; set; } public string ConnectionInfo { get; set; } - public InquiryTableEntity() { } + public InquiryTableEntity() + { + } public InquiryTableEntity(int inquiryId) { OwnerId = inquiryId; } + public InquiryTableEntity(int inquiryId, string databaseName, string connectionInfo) { OwnerId = inquiryId; diff --git a/API_SQLuedo/EntityFramework/LessonEntity.cs b/API_SQLuedo/EntityFramework/LessonEntity.cs index 902465e..6bf5436 100644 --- a/API_SQLuedo/EntityFramework/LessonEntity.cs +++ b/API_SQLuedo/EntityFramework/LessonEntity.cs @@ -11,7 +11,9 @@ public class LessonEntity public DateOnly? LastEdit { get; set; } public ICollection Content { get; set; } = new List(); - public LessonEntity() { } + public LessonEntity() + { + } public LessonEntity(int id, string title, string lastPublisher, DateOnly? lastEdit) { diff --git a/API_SQLuedo/EntityFramework/NotepadEntity.cs b/API_SQLuedo/EntityFramework/NotepadEntity.cs index 0a3f9c9..da47cd9 100644 --- a/API_SQLuedo/EntityFramework/NotepadEntity.cs +++ b/API_SQLuedo/EntityFramework/NotepadEntity.cs @@ -7,16 +7,16 @@ public class NotepadEntity { public int Id { get; set; } - [ForeignKey(nameof(User))] - public int UserId { get; set; } + [ForeignKey(nameof(User))] public int UserId { get; set; } public UserEntity User { get; set; } - [ForeignKey(nameof(Inquiry))] - public int InquiryId { get; set; } + [ForeignKey(nameof(Inquiry))] public int InquiryId { get; set; } public InquiryEntity Inquiry { get; set; } public string Notes { get; set; } - public NotepadEntity() { } + public NotepadEntity() + { + } public NotepadEntity(int id, int userId, UserEntity user, int inquiryId, InquiryEntity inquiry, string notes) { @@ -27,6 +27,7 @@ public class NotepadEntity Inquiry = inquiry; Notes = notes; } + public NotepadEntity(int userId, UserEntity user, int inquiryId, InquiryEntity inquiry, string notes) { UserId = userId; diff --git a/API_SQLuedo/EntityFramework/SolutionEntity.cs b/API_SQLuedo/EntityFramework/SolutionEntity.cs index 8b57c1a..9f10225 100644 --- a/API_SQLuedo/EntityFramework/SolutionEntity.cs +++ b/API_SQLuedo/EntityFramework/SolutionEntity.cs @@ -11,18 +11,25 @@ public class SolutionEntity [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Required] public int OwnerId { get; set; } + public InquiryEntity? Owner { get; set; } public string? MurdererFirstName { get; set; } public string? MurdererLastName { get; set; } public string? MurderPlace { get; set; } public string? MurderWeapon { get; set; } public string? Explaination { get; set; } - public SolutionEntity() { } + + public SolutionEntity() + { + } + public SolutionEntity(int ownerId) { OwnerId = ownerId; } - public SolutionEntity(int ownerId, InquiryEntity? owner, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explaination) + + public SolutionEntity(int ownerId, InquiryEntity? owner, string murdererFirstName, string murdererLastName, + string murderPlace, string murderWeapon, string explaination) { OwnerId = ownerId; Owner = owner; @@ -32,7 +39,9 @@ public class SolutionEntity MurderWeapon = murderWeapon; Explaination = explaination; } - public SolutionEntity(InquiryEntity? owner, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explaination) + + public SolutionEntity(InquiryEntity? owner, string murdererFirstName, string murdererLastName, string murderPlace, + string murderWeapon, string explaination) { Owner = owner; MurdererFirstName = murdererFirstName; @@ -41,7 +50,9 @@ public class SolutionEntity MurderWeapon = murderWeapon; Explaination = explaination; } - public SolutionEntity(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) + + public SolutionEntity(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, + string murderWeapon, string explanation) { OwnerId = ownerId; MurdererFirstName = murdererFirstName; diff --git a/API_SQLuedo/EntityFramework/SuccessEntity.cs b/API_SQLuedo/EntityFramework/SuccessEntity.cs index 10f21a9..4a69b11 100644 --- a/API_SQLuedo/EntityFramework/SuccessEntity.cs +++ b/API_SQLuedo/EntityFramework/SuccessEntity.cs @@ -5,16 +5,16 @@ namespace Entities; [Table("Success")] public class SuccessEntity { - [ForeignKey(nameof(User))] - public int UserId { get; set; } + [ForeignKey(nameof(User))] public int UserId { get; set; } public UserEntity User { get; set; } - [ForeignKey(nameof(Inquiry))] - public int InquiryId { get; set; } + [ForeignKey(nameof(Inquiry))] public int InquiryId { get; set; } public InquiryEntity Inquiry { get; set; } public bool IsFinished { get; set; } - public SuccessEntity() { } + public SuccessEntity() + { + } public SuccessEntity(int userId, UserEntity user, int inquiryId, InquiryEntity inquiry, bool isFinished) { diff --git a/API_SQLuedo/Model/Inquiry.cs b/API_SQLuedo/Model/Inquiry.cs index d2a805f..464d7df 100644 --- a/API_SQLuedo/Model/Inquiry.cs +++ b/API_SQLuedo/Model/Inquiry.cs @@ -7,7 +7,9 @@ public class Inquiry public string Description { get; set; } public bool IsUser { get; set; } - public Inquiry() { } + public Inquiry() + { + } public Inquiry(int id, string title, string description, bool isUser) { diff --git a/API_SQLuedo/Model/InquiryTable.cs b/API_SQLuedo/Model/InquiryTable.cs index 060702a..ecca3f4 100644 --- a/API_SQLuedo/Model/InquiryTable.cs +++ b/API_SQLuedo/Model/InquiryTable.cs @@ -6,12 +6,14 @@ public class InquiryTable public string DatabaseName { get; set; } public string ConnectionInfo { get; set; } - public InquiryTable() { } + public InquiryTable() + { + } + public InquiryTable(int inquiryId, string databaseName, string connectionInfo) { OwnerId = inquiryId; DatabaseName = databaseName; ConnectionInfo = connectionInfo; } - } \ No newline at end of file diff --git a/API_SQLuedo/Model/Notepad.cs b/API_SQLuedo/Model/Notepad.cs index ce91168..989990d 100644 --- a/API_SQLuedo/Model/Notepad.cs +++ b/API_SQLuedo/Model/Notepad.cs @@ -7,7 +7,9 @@ public class Notepad public int InquiryId { get; set; } public string Notes { get; set; } - public Notepad() { } + public Notepad() + { + } public Notepad(int id, int userId, int inquiryId, string notes) { @@ -16,7 +18,8 @@ public class Notepad InquiryId = inquiryId; Notes = notes; } - public Notepad(int userId, int inquiryId, string notes) + + public Notepad(int userId, int inquiryId, string notes) { UserId = userId; InquiryId = inquiryId; diff --git a/API_SQLuedo/Model/OrderCriteria/InquiryOrderCriteria.cs b/API_SQLuedo/Model/OrderCriteria/InquiryOrderCriteria.cs index bc40b5d..f800b0e 100644 --- a/API_SQLuedo/Model/OrderCriteria/InquiryOrderCriteria.cs +++ b/API_SQLuedo/Model/OrderCriteria/InquiryOrderCriteria.cs @@ -2,5 +2,8 @@ namespace Model.OrderCriteria; public enum InquiryOrderCriteria { - None, ByTitle, ByDescription, ByIsUser + None, + ByTitle, + ByDescription, + ByIsUser } \ No newline at end of file diff --git a/API_SQLuedo/Model/OrderCriteria/LessonOrderCriteria.cs b/API_SQLuedo/Model/OrderCriteria/LessonOrderCriteria.cs index 004879c..db06097 100644 --- a/API_SQLuedo/Model/OrderCriteria/LessonOrderCriteria.cs +++ b/API_SQLuedo/Model/OrderCriteria/LessonOrderCriteria.cs @@ -2,5 +2,8 @@ namespace Model.OrderCriteria; public enum LessonOrderCriteria { - None, ByTitle, ByLastPublisher, ByLastEdit + None, + ByTitle, + ByLastPublisher, + ByLastEdit } \ No newline at end of file diff --git a/API_SQLuedo/Model/OrderCriteria/ParagraphOrderCriteria.cs b/API_SQLuedo/Model/OrderCriteria/ParagraphOrderCriteria.cs index bd9cc93..5cdf11d 100644 --- a/API_SQLuedo/Model/OrderCriteria/ParagraphOrderCriteria.cs +++ b/API_SQLuedo/Model/OrderCriteria/ParagraphOrderCriteria.cs @@ -2,5 +2,10 @@ namespace Model.OrderCriteria; public enum ParagraphOrderCriteria { - None, ByTitle, ByContent, ByInfo, ByQuery, ByComment + None, + ByTitle, + ByContent, + ByInfo, + ByQuery, + ByComment } \ No newline at end of file diff --git a/API_SQLuedo/Model/OrderCriteria/SuccessOrderCriteria.cs b/API_SQLuedo/Model/OrderCriteria/SuccessOrderCriteria.cs index a2c8d76..34c8b46 100644 --- a/API_SQLuedo/Model/OrderCriteria/SuccessOrderCriteria.cs +++ b/API_SQLuedo/Model/OrderCriteria/SuccessOrderCriteria.cs @@ -2,5 +2,8 @@ namespace Model.OrderCriteria; public enum SuccessOrderCriteria { - None, ByUserId, ByInquiryId, ByIsFinished + None, + ByUserId, + ByInquiryId, + ByIsFinished } \ No newline at end of file diff --git a/API_SQLuedo/Model/OrderCriteria/UserOrderCriteria.cs b/API_SQLuedo/Model/OrderCriteria/UserOrderCriteria.cs index 42ab10c..c5b35b9 100644 --- a/API_SQLuedo/Model/OrderCriteria/UserOrderCriteria.cs +++ b/API_SQLuedo/Model/OrderCriteria/UserOrderCriteria.cs @@ -2,5 +2,9 @@ namespace Model.OrderCriteria; public enum UserOrderCriteria { - None, ById, ByUsername, ByEmail, ByIsAdmin + None, + ById, + ByUsername, + ByEmail, + ByIsAdmin } \ No newline at end of file diff --git a/API_SQLuedo/Model/Solution.cs b/API_SQLuedo/Model/Solution.cs index bee801b..8d167f8 100644 --- a/API_SQLuedo/Model/Solution.cs +++ b/API_SQLuedo/Model/Solution.cs @@ -8,8 +8,13 @@ public class Solution public string MurderPlace { get; set; } public string MurderWeapon { get; set; } public string Explanation { get; set; } - public Solution() { } - public Solution(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) + + public Solution() + { + } + + public Solution(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, + string murderWeapon, string explanation) { OwnerId = ownerId; MurdererFirstName = murdererFirstName; @@ -18,7 +23,9 @@ public class Solution MurderWeapon = murderWeapon; Explanation = explanation; } - public Solution(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) + + public Solution(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, + string explanation) { MurdererFirstName = murdererFirstName; MurdererLastName = murdererLastName; diff --git a/API_SQLuedo/Model/Success.cs b/API_SQLuedo/Model/Success.cs index 1301b0f..4d4cc09 100644 --- a/API_SQLuedo/Model/Success.cs +++ b/API_SQLuedo/Model/Success.cs @@ -6,7 +6,9 @@ public class Success public int InquiryId { get; set; } public bool IsFinished { get; set; } - public Success() { } + public Success() + { + } public Success(int userId, int inquiryId, bool isFinished) { diff --git a/API_SQLuedo/Model/User.cs b/API_SQLuedo/Model/User.cs index 8031378..88dff7f 100644 --- a/API_SQLuedo/Model/User.cs +++ b/API_SQLuedo/Model/User.cs @@ -8,7 +8,10 @@ public class User public string Email { get; set; } public bool IsAdmin { get; set; } - public User() { } + public User() + { + } + public User(int id, string username, string password, string email, bool isAdmin) { Id = id; diff --git a/API_SQLuedo/Shared/IParagraphService.cs b/API_SQLuedo/Shared/IParagraphService.cs index 7b59ede..aa2fe7a 100644 --- a/API_SQLuedo/Shared/IParagraphService.cs +++ b/API_SQLuedo/Shared/IParagraphService.cs @@ -9,6 +9,8 @@ namespace Shared public TParagraph GetParagraphByTitle(string title); public bool DeleteParagraph(int id); public TParagraph UpdateParagraph(int id, TParagraph paragraph); - public TParagraph CreateParagraph(string title, string content, string info, string query, string comment, int lessonId); + + public TParagraph CreateParagraph(string title, string content, string info, string query, string comment, + int lessonId); } } \ No newline at end of file diff --git a/API_SQLuedo/StubbedContextLib/StubbedContext.cs b/API_SQLuedo/StubbedContextLib/StubbedContext.cs index 925eb10..fec0d75 100644 --- a/API_SQLuedo/StubbedContextLib/StubbedContext.cs +++ b/API_SQLuedo/StubbedContextLib/StubbedContext.cs @@ -47,7 +47,7 @@ public class StubbedContext : UserDbContext prf: KeyDerivationPrf.HMACSHA256, iterationCount: 100000, numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); - + modelBuilder.Entity().HasData( new InquiryTableEntity(1, "Inquiry1", "Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), @@ -60,7 +60,7 @@ public class StubbedContext : UserDbContext new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"), new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est ra****"), new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan")); - + modelBuilder.Entity().HasData( new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true), new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false), diff --git a/API_SQLuedo/TestAPI/UnitTest1.cs b/API_SQLuedo/TestAPI/UnitTest1.cs index c22e82f..161aaab 100644 --- a/API_SQLuedo/TestAPI/UnitTest1.cs +++ b/API_SQLuedo/TestAPI/UnitTest1.cs @@ -5,7 +5,6 @@ namespace TestAPI [Fact] public void Test1() { - } } } \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleEf/Program.cs b/API_SQLuedo/TestConsoleEf/Program.cs index fb63a8f..7921b88 100644 --- a/API_SQLuedo/TestConsoleEf/Program.cs +++ b/API_SQLuedo/TestConsoleEf/Program.cs @@ -159,10 +159,10 @@ using (var db = new StubbedContext(options)) // Affichage de la solution de l'enquete sur les orang outan Console.WriteLine("\nAffichage de la solution de l'enquete sur les orang outan"); - + var sol = await solutions.FirstOrDefaultAsync(s => s.Owner.Title == "L'enquête sur les orang outan"); Console.WriteLine(sol.MurdererFirstName); - + var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan"); var i = inquirySolution.Id; foreach (var pptt in typeof(SolutionEntity).GetProperties() diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs index bee3d00..8b54d26 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryEntity.cs @@ -18,7 +18,7 @@ public class TestInquiryEntity Assert.Null(inquiry.Description); Assert.False(inquiry.IsUser); } - + [Fact] public void TestConstructorWithOnlyId() { @@ -28,24 +28,24 @@ public class TestInquiryEntity Assert.Null(inquiry.Description); Assert.False(inquiry.IsUser); } - + [Fact] public void TestConstructorWithoutId() { - InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser); + InquiryEntity inquiry = new InquiryEntity(_title, _description, _isUser); Assert.Equal(0, inquiry.Id); - Assert.Equal(_title,inquiry.Title); - Assert.Equal(_description,inquiry.Description); + Assert.Equal(_title, inquiry.Title); + Assert.Equal(_description, inquiry.Description); Assert.True(inquiry.IsUser); } - + [Fact] public void TestConstructorWithAllAttributes() { - InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser); + InquiryEntity inquiry = new InquiryEntity(_id, _title, _description, _isUser); Assert.Equal(_id, inquiry.Id); - Assert.Equal(_title,inquiry.Title); - Assert.Equal(_description,inquiry.Description); + Assert.Equal(_title, inquiry.Title); + Assert.Equal(_description, inquiry.Description); Assert.True(inquiry.IsUser); } } \ No newline at end of file diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryTableEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryTableEntity.cs index 7751046..72d4d23 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestInquiryTableEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestInquiryTableEntity.cs @@ -13,40 +13,40 @@ public class TestInquiryTableEntity public void TestDefaultConstructor() { InquiryTableEntity tableEntity = new InquiryTableEntity(); - Assert.Equal(0,tableEntity.OwnerId); + Assert.Equal(0, tableEntity.OwnerId); Assert.Null(tableEntity.Owner); Assert.Null(tableEntity.DatabaseName); Assert.Null(tableEntity.ConnectionInfo); } - + [Fact] public void TestConstructorWithOnlyId() { InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiryId); - Assert.Equal(_inquiryId,tableEntity.OwnerId); + Assert.Equal(_inquiryId, tableEntity.OwnerId); Assert.Null(tableEntity.Owner); Assert.Null(tableEntity.DatabaseName); Assert.Null(tableEntity.ConnectionInfo); } - - + + [Fact] public void TestConstructorWithoutId() { - InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiry,_databaseName,_connectionInfo); - Assert.Equal(0,tableEntity.OwnerId); - Assert.Equal(_inquiry,tableEntity.Owner); - Assert.Equal(_databaseName,tableEntity.DatabaseName); - Assert.Equal(_connectionInfo,tableEntity.ConnectionInfo); + InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiry, _databaseName, _connectionInfo); + Assert.Equal(0, tableEntity.OwnerId); + Assert.Equal(_inquiry, tableEntity.Owner); + Assert.Equal(_databaseName, tableEntity.DatabaseName); + Assert.Equal(_connectionInfo, tableEntity.ConnectionInfo); } - + [Fact] public void TestConstructorWithoutNavigationProperty() { - InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiryId,_databaseName,_connectionInfo); - Assert.Equal(_inquiryId,tableEntity.OwnerId); + InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiryId, _databaseName, _connectionInfo); + Assert.Equal(_inquiryId, tableEntity.OwnerId); Assert.Null(tableEntity.Owner); - Assert.Equal(_databaseName,tableEntity.DatabaseName); - Assert.Equal(_connectionInfo,tableEntity.ConnectionInfo); + Assert.Equal(_databaseName, tableEntity.DatabaseName); + Assert.Equal(_connectionInfo, tableEntity.ConnectionInfo); } } \ No newline at end of file diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestLessonEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestLessonEntity.cs index 42a02d1..4566dad 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestLessonEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestLessonEntity.cs @@ -19,24 +19,24 @@ public class TestLessonEntity Assert.Null(lesson.LastPublisher); Assert.Null(lesson.LastEdit); } - + [Fact] public void TestConstructorWithoutId() { - LessonEntity lesson = new LessonEntity(_title,_lastPublisher,_lastEdit); + LessonEntity lesson = new LessonEntity(_title, _lastPublisher, _lastEdit); Assert.Equal(0, lesson.Id); - Assert.Equal(_title,lesson.Title); - Assert.Equal(_lastPublisher,lesson.LastPublisher); - Assert.Equal(_lastEdit,lesson.LastEdit); + Assert.Equal(_title, lesson.Title); + Assert.Equal(_lastPublisher, lesson.LastPublisher); + Assert.Equal(_lastEdit, lesson.LastEdit); } - + [Fact] public void TestConstructorWithAllAttributes() { - LessonEntity lesson = new LessonEntity(_id,_title,_lastPublisher,_lastEdit); + LessonEntity lesson = new LessonEntity(_id, _title, _lastPublisher, _lastEdit); Assert.Equal(_id, lesson.Id); - Assert.Equal(_title,lesson.Title); - Assert.Equal(_lastPublisher,lesson.LastPublisher); - Assert.Equal(_lastEdit,lesson.LastEdit); + Assert.Equal(_title, lesson.Title); + Assert.Equal(_lastPublisher, lesson.LastPublisher); + Assert.Equal(_lastEdit, lesson.LastEdit); } } \ No newline at end of file diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestNotepadEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestNotepadEntity.cs index 4d3ba35..09e5807 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestNotepadEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestNotepadEntity.cs @@ -15,35 +15,35 @@ public class TestNotepadEntity public void TestDefaultConstructor() { NotepadEntity notepad = new NotepadEntity(); - Assert.Equal(0,notepad.Id); - Assert.Equal(0,notepad.UserId); + Assert.Equal(0, notepad.Id); + Assert.Equal(0, notepad.UserId); Assert.Null(notepad.User); - Assert.Equal(0,notepad.InquiryId); + Assert.Equal(0, notepad.InquiryId); Assert.Null(notepad.Inquiry); Assert.Null(notepad.Notes); } - + [Fact] public void TestConstructorWithoutId() { - NotepadEntity notepad = new NotepadEntity(_userId,_userEntity,_inquiryId,_inquiryEntity,_notes); - Assert.Equal(0,notepad.Id); - Assert.Equal(_userId,notepad.UserId); - Assert.Equal(_userEntity,notepad.User); - Assert.Equal(_inquiryId,notepad.InquiryId); - Assert.Equal(_inquiryEntity,notepad.Inquiry); - Assert.Equal(_notes,notepad.Notes); + NotepadEntity notepad = new NotepadEntity(_userId, _userEntity, _inquiryId, _inquiryEntity, _notes); + Assert.Equal(0, notepad.Id); + Assert.Equal(_userId, notepad.UserId); + Assert.Equal(_userEntity, notepad.User); + Assert.Equal(_inquiryId, notepad.InquiryId); + Assert.Equal(_inquiryEntity, notepad.Inquiry); + Assert.Equal(_notes, notepad.Notes); } - + [Fact] public void TestConstructorWithAllAttributes() { - NotepadEntity notepad = new NotepadEntity(_id,_userId,_userEntity,_inquiryId,_inquiryEntity,_notes); - Assert.Equal(_id,notepad.Id); - Assert.Equal(_userId,notepad.UserId); - Assert.Equal(_userEntity,notepad.User); - Assert.Equal(_inquiryId,notepad.InquiryId); - Assert.Equal(_inquiryEntity,notepad.Inquiry); - Assert.Equal(_notes,notepad.Notes); + NotepadEntity notepad = new NotepadEntity(_id, _userId, _userEntity, _inquiryId, _inquiryEntity, _notes); + Assert.Equal(_id, notepad.Id); + Assert.Equal(_userId, notepad.UserId); + Assert.Equal(_userEntity, notepad.User); + Assert.Equal(_inquiryId, notepad.InquiryId); + Assert.Equal(_inquiryEntity, notepad.Inquiry); + Assert.Equal(_notes, notepad.Notes); } } \ No newline at end of file diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestParagraphEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestParagraphEntity.cs index 1f2228d..227a06a 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestParagraphEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestParagraphEntity.cs @@ -22,29 +22,29 @@ public class TestParagraphEntity Assert.Null(paragraph.Query); Assert.Null(paragraph.Comment); } - + [Fact] public void TestConstructorWithoutId() { - ParagraphEntity paragraph = new ParagraphEntity(_title,_content,_info,_query,_comment); + ParagraphEntity paragraph = new ParagraphEntity(_title, _content, _info, _query, _comment); Assert.Equal(0, paragraph.Id); - Assert.Equal(_title,paragraph.Title); - Assert.Equal(_info,paragraph.Info); - Assert.Equal(_content,paragraph.Content); - Assert.Equal(_query,paragraph.Query); - Assert.Equal(_comment,paragraph.Comment); + Assert.Equal(_title, paragraph.Title); + Assert.Equal(_info, paragraph.Info); + Assert.Equal(_content, paragraph.Content); + Assert.Equal(_query, paragraph.Query); + Assert.Equal(_comment, paragraph.Comment); } - + [Fact] public void TestConstructorWithAllAttributes() { - ParagraphEntity paragraph = new ParagraphEntity(_id,_title,_content,_info,_query,_comment,10); + ParagraphEntity paragraph = new ParagraphEntity(_id, _title, _content, _info, _query, _comment, 10); Assert.Equal(_id, paragraph.Id); - Assert.Equal(_title,paragraph.Title); - Assert.Equal(_info,paragraph.Info); - Assert.Equal(_content,paragraph.Content); - Assert.Equal(_query,paragraph.Query); - Assert.Equal(_comment,paragraph.Comment); + Assert.Equal(_title, paragraph.Title); + Assert.Equal(_info, paragraph.Info); + Assert.Equal(_content, paragraph.Content); + Assert.Equal(_query, paragraph.Query); + Assert.Equal(_comment, paragraph.Comment); Assert.Equal(10, paragraph.LessonId); } } \ No newline at end of file diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestSuccessEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestSuccessEntity.cs index 251a00a..e5a7d50 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestSuccessEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestSuccessEntity.cs @@ -12,46 +12,46 @@ public class TestSuccessEntity public void TestDefaultConstructor() { SuccessEntity success = new SuccessEntity(); - Assert.Equal(0,success.UserId); + Assert.Equal(0, success.UserId); Assert.Null(success.User); - Assert.Equal(0,success.InquiryId); + Assert.Equal(0, success.InquiryId); Assert.Null(success.Inquiry); Assert.False(success.IsFinished); } - + [Fact] public void TestConstructorWithIds() { SuccessEntity success = new SuccessEntity(_userId, _inquiryId, _isFinished); - Assert.Equal(_userId,success.UserId); + Assert.Equal(_userId, success.UserId); Assert.Null(success.User); - Assert.Equal(_inquiryId,success.InquiryId); + Assert.Equal(_inquiryId, success.InquiryId); Assert.Null(success.Inquiry); Assert.True(success.IsFinished); } - + [Fact] public void TestConstructorWithNavigationProperties() { UserEntity user = new UserEntity(); InquiryEntity inquiry = new InquiryEntity(); SuccessEntity success = new SuccessEntity(user, inquiry, _isFinished); - Assert.Equal(0,success.UserId); + Assert.Equal(0, success.UserId); Assert.NotNull(success.User); - Assert.Equal(0,success.InquiryId); + Assert.Equal(0, success.InquiryId); Assert.NotNull(success.Inquiry); Assert.True(success.IsFinished); } - + [Fact] public void TestConstructorWithAllAttributes() { UserEntity user = new UserEntity(); InquiryEntity inquiry = new InquiryEntity(); - SuccessEntity success = new SuccessEntity(_userId, user, _inquiryId, inquiry, _isFinished); - Assert.Equal(_userId,success.UserId); + SuccessEntity success = new SuccessEntity(_userId, user, _inquiryId, inquiry, _isFinished); + Assert.Equal(_userId, success.UserId); Assert.NotNull(success.User); - Assert.Equal(_inquiryId,success.InquiryId); + Assert.Equal(_inquiryId, success.InquiryId); Assert.NotNull(success.Inquiry); Assert.True(success.IsFinished); } diff --git a/API_SQLuedo/TestEF/EntitiesTests/TestUserEntity.cs b/API_SQLuedo/TestEF/EntitiesTests/TestUserEntity.cs index 8f99022..7e07927 100644 --- a/API_SQLuedo/TestEF/EntitiesTests/TestUserEntity.cs +++ b/API_SQLuedo/TestEF/EntitiesTests/TestUserEntity.cs @@ -9,11 +9,12 @@ namespace TestEF private const string _password = "password"; private const bool _isAdmin = true; private const int _id = 42; + [Fact] public void TestDefaultConstructor() { UserEntity user = new UserEntity(); - Assert.Equal(0,user.Id); + Assert.Equal(0, user.Id); Assert.Null(user.Username); Assert.Null(user.Email); Assert.Null(user.Password); @@ -24,7 +25,7 @@ namespace TestEF public void TestConstructorWithOnlyId() { UserEntity user = new UserEntity(_id); - Assert.Equal(_id,user.Id); + Assert.Equal(_id, user.Id); Assert.Null(user.Username); Assert.Null(user.Email); Assert.Null(user.Password); @@ -35,18 +36,18 @@ namespace TestEF public void TestConstructorWithoutId() { UserEntity user = new UserEntity(_username, _password, _email, _isAdmin); - Assert.Equal(0,user.Id); + Assert.Equal(0, user.Id); Assert.Equal(_username, user.Username); Assert.Equal(_email, user.Email); Assert.Equal(_password, user.Password); Assert.True(user.IsAdmin); } - + [Fact] public void TestConstructorWithoutAllAttributes() { UserEntity user = new UserEntity(_id, _username, _password, _email, _isAdmin); - Assert.Equal(_id,user.Id); + Assert.Equal(_id, user.Id); Assert.Equal(_username, user.Username); Assert.Equal(_email, user.Email); Assert.Equal(_password, user.Password); From bbf5448dabea0bd449e58b2cadbe5f0b33d3c3b9 Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 17:44:00 +0100 Subject: [PATCH 23/50] =?UTF-8?q?Ajout=20de=20contraintes=20sur=20les=20pa?= =?UTF-8?q?ram=C3=A8tres=20donn=C3=A9s=20dans=20les=20controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Controllers/InquiriesController.cs | 6 ++--- .../API/Controllers/LessonsController.cs | 4 +-- .../API/Controllers/ParagraphsController.cs | 6 ++--- .../API/Controllers/SuccessesController.cs | 26 +++++++++---------- API_SQLuedo/API/Controllers/UserController.cs | 6 ++--- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index daa748a..d35db6d 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -23,7 +23,7 @@ namespace API.Controllers _logger = logger; } - [HttpGet("inquiries/{page}/{number}/{orderCriteria}")] + [HttpGet("inquiries/{page:int}/{number:int}/{orderCriteria}")] [ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) @@ -73,7 +73,7 @@ namespace API.Controllers } } - [HttpDelete("inquiry/{id}")] + [HttpDelete("inquiry/{id:int}")] [ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteInquiry(int id) @@ -108,7 +108,7 @@ namespace API.Controllers _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser)); } - [HttpPut("inquiry/{id}")] + [HttpPut("inquiry/{id:int}")] [ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index eae7eb9..bfb0738 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -73,7 +73,7 @@ namespace API.Controllers } } - [HttpDelete("lesson/{id}")] + [HttpDelete("lesson/{id:int}")] [ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteLesson(int id) @@ -108,7 +108,7 @@ namespace API.Controllers _lessonDataService.CreateLesson(dto.Title, dto.LastPublisher, dto.LastEdit)); } - [HttpPut("lesson/{id}")] + [HttpPut("lesson/{id:int}")] [ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index 7d648ea..df0bfff 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -24,7 +24,7 @@ namespace API.Controllers _logger = logger; } - [HttpGet("paragraphs/{page}/{number}/{orderCriteria}")] + [HttpGet("paragraphs/{page:int}/{number:int}/{orderCriteria}")] [ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) @@ -74,7 +74,7 @@ namespace API.Controllers } } - [HttpDelete("paragraph/{id}")] + [HttpDelete("paragraph/{id:int}")] [ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteParagraph(int id) @@ -111,7 +111,7 @@ namespace API.Controllers dto.LessonId)); } - [HttpPut("paragraph/{id}")] + [HttpPut("paragraph/{id:int}")] [ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index 28b0ddc..ca9a8a6 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -23,12 +23,12 @@ namespace API.Controllers _logger = logger; } - [HttpGet("successes/{page}/{number}/{orderCriteria}")] + [HttpGet("successes/{page:int}/{number:int}/{orderCriteria}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) { - var nbUser = (_successDataService.GetSuccesses(page, number, orderCriteria)).ToList().Count(); + var nbUser = _successDataService.GetSuccesses(page, number, orderCriteria).ToList().Count; if (nbUser == 0) { _logger.LogError("[ERREUR] Aucun utilisateur trouvé."); @@ -42,39 +42,39 @@ namespace API.Controllers [HttpGet("success/user/{id:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 404)] - public IActionResult GetSuccessByUserId(int userId) + public IActionResult GetSuccessByUserId(int id) { try { - _logger.LogInformation("[INFORMATION] Le succès avec l'id de l'utilisateur {id} a été trouvé.", userId); - return Ok(_successDataService.GetSuccessByUserId(userId)); + _logger.LogInformation("[INFORMATION] Le succès avec l'id de l'utilisateur {id} a été trouvé.", id); + return Ok(_successDataService.GetSuccessByUserId(id)); } catch (ArgumentException) { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id de l'utilisateur {id}.", userId); + _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id de l'utilisateur {id}.", id); return NotFound(); } } - [HttpGet("success/inquiry/{inquiryId:int}")] + [HttpGet("success/inquiry/{id:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 404)] - public IActionResult GetSuccessByInquiryId(int inquiryId) + public IActionResult GetSuccessByInquiryId(int id) { try { _logger.LogInformation("[INFORMATION] Utilisateur avec l'id de l'enquête {inquiryId} a été trouvé.", - inquiryId); - return Ok(_successDataService.GetSuccessByInquiryId(inquiryId)); + id); + return Ok(_successDataService.GetSuccessByInquiryId(id)); } catch (ArgumentException) { - _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id de l'enquête {inquiryId}.", inquiryId); + _logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id de l'enquête {inquiryId}.", id); return NotFound(); } } - [HttpDelete("success/{id}")] + [HttpDelete("success/{id:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteSuccess(int id) @@ -108,7 +108,7 @@ namespace API.Controllers _successDataService.CreateSuccess(dto.UserId, dto.InquiryId, dto.IsFinished)); } - [HttpPut("success/{id}")] + [HttpPut("success/{id:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 11717a9..63fe068 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -13,7 +13,7 @@ namespace API.Controllers [ApiController] public class UsersController(ILogger logger, IUserService userService) : ControllerBase { - [HttpGet("users/{page}/{number}")] + [HttpGet("users/{page:int}/{number:int}")] [ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetUsers(int page, int number, UserOrderCriteria orderCriteria) @@ -63,7 +63,7 @@ namespace API.Controllers } } - [HttpDelete("user/{id}")] + [HttpDelete("user/{id:int}")] [ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteUser(int id) @@ -99,7 +99,7 @@ namespace API.Controllers userService.CreateUser(dto.Username, dto.Password, dto.Email, dto.IsAdmin)); } - [HttpPut("user/{id}")] + [HttpPut("user/{id:int}")] [ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] From 3f7e5be073f92fb4a944a4bc7fa2a0d86347a87b Mon Sep 17 00:00:00 2001 From: clchieu Date: Fri, 15 Mar 2024 17:48:24 +0100 Subject: [PATCH 24/50] Ajout de contraintes dans les controllers --- API_SQLuedo/API/Controllers/LessonsController.cs | 2 +- API_SQLuedo/API/Controllers/ParagraphsController.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index bfb0738..dfbbd14 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -23,7 +23,7 @@ namespace API.Controllers _logger = logger; } - [HttpGet("lessons/{page}/{number}/{orderCriteria}")] + [HttpGet("lessons/{page:int}/{number:int}/{orderCriteria}")] [ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetLessons(int page, int number, LessonOrderCriteria orderCriteria) diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index df0bfff..c6d64a5 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -29,7 +29,7 @@ namespace API.Controllers [ProducesResponseType(typeof(string), 204)] public IActionResult GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) { - var nbParagraph = (_paragraphDataService.GetParagraphs(page, number, orderCriteria)).ToList().Count(); + var nbParagraph = _paragraphDataService.GetParagraphs(page, number, orderCriteria).ToList().Count; if (nbParagraph == 0) { _logger.LogError("[ERREUR] Aucun paragraphe trouvé."); From 231f9bd878700aebdcf8adc4a45959072c37fbe3 Mon Sep 17 00:00:00 2001 From: "Johnny.Ratton" Date: Fri, 15 Mar 2024 17:53:48 +0100 Subject: [PATCH 25/50] Ajout de constructeur vide pour les DTO qui n'en avaient pas --- API_SQLuedo/Dto/BlackListDTO.cs | 1 + API_SQLuedo/Dto/InquiryDTO.cs | 1 + API_SQLuedo/Dto/ParagraphDTO.cs | 10 +++++----- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/API_SQLuedo/Dto/BlackListDTO.cs b/API_SQLuedo/Dto/BlackListDTO.cs index 913aaa0..a8a5a63 100644 --- a/API_SQLuedo/Dto/BlackListDTO.cs +++ b/API_SQLuedo/Dto/BlackListDTO.cs @@ -5,6 +5,7 @@ public class BlackListDTO public string Email { get; set; } public DateOnly ExpirationDate { get; set; } + public BlackListDTO() {} public BlackListDTO(string email, DateOnly expirationDate) { Email = email; diff --git a/API_SQLuedo/Dto/InquiryDTO.cs b/API_SQLuedo/Dto/InquiryDTO.cs index 5a436ed..f734ce7 100644 --- a/API_SQLuedo/Dto/InquiryDTO.cs +++ b/API_SQLuedo/Dto/InquiryDTO.cs @@ -10,6 +10,7 @@ public class InquiryDTO public bool IsUser { get; set; } + public InquiryDTO(){} public InquiryDTO(int id, string title, string description, bool isUser) { Id = id; diff --git a/API_SQLuedo/Dto/ParagraphDTO.cs b/API_SQLuedo/Dto/ParagraphDTO.cs index f6925dd..13c702f 100644 --- a/API_SQLuedo/Dto/ParagraphDTO.cs +++ b/API_SQLuedo/Dto/ParagraphDTO.cs @@ -29,9 +29,9 @@ public class ParagraphDTO : ContentLessonDTO Info = info; Query = query; Comment = comment; - } - - public ParagraphDTO() : base() - { - } + } + + public ParagraphDTO() : base() + { + } } \ No newline at end of file From 83560da67198b21c514e6c8ebad2d1cd70aeba0d Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 18:07:12 +0100 Subject: [PATCH 26/50] Ajout TU Pour GetInquiries --- API_SQLuedo/Dto/InquiryDTO.cs | 39 ++++++- .../Extensions/InquiryDto.EqualityComparer.cs | 22 ++++ .../Extensions/UserDto.EqualityComparer.cs | 2 +- API_SQLuedo/TestAPI/InquiryUnitTest.cs | 101 ++++++++++++++++++ API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs | 28 ----- API_SQLuedo/TestAPI/UserUnitTest.cs | 55 +++++----- 6 files changed, 188 insertions(+), 59 deletions(-) create mode 100644 API_SQLuedo/TestAPI/Extensions/InquiryDto.EqualityComparer.cs create mode 100644 API_SQLuedo/TestAPI/InquiryUnitTest.cs delete mode 100644 API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs diff --git a/API_SQLuedo/Dto/InquiryDTO.cs b/API_SQLuedo/Dto/InquiryDTO.cs index 5a436ed..980f9a7 100644 --- a/API_SQLuedo/Dto/InquiryDTO.cs +++ b/API_SQLuedo/Dto/InquiryDTO.cs @@ -1,8 +1,8 @@ namespace Dto; -public class InquiryDTO +public class InquiryDTO : IEquatable { - public int Id { get;} + public int Id { get; } public string Title { get; set; } @@ -24,4 +24,39 @@ public class InquiryDTO Description = description; IsUser = isUser; } + + public override string ToString() + { + return $"{Id}\t{Title}\t{Description}\t{IsUser}"; + } + + 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 InquiryDTO); + } + + public bool Equals(InquiryDTO 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/InquiryDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/InquiryDto.EqualityComparer.cs new file mode 100644 index 0000000..dc2bccf --- /dev/null +++ b/API_SQLuedo/TestAPI/Extensions/InquiryDto.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 InquiryIdEqualityComparer : EqualityComparer + { + public override bool Equals(InquiryDTO x, InquiryDTO y) + { + return x.Id == y.Id; + } + + public override int GetHashCode(InquiryDTO obj) + { + return obj.Id; + } + } +} diff --git a/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs index 0a77cc4..33b34a2 100644 --- a/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs @@ -7,7 +7,7 @@ using Dto; namespace TestAPI.Extensions { - class IdEqualityComparer : EqualityComparer + class UserIdEqualityComparer : EqualityComparer { public override bool Equals(UserDTO x, UserDTO y) { diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs new file mode 100644 index 0000000..f5b3285 --- /dev/null +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -0,0 +1,101 @@ +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 API.Controllers; +using TestAPI.Extensions; + +namespace TestAPI +{ + public class InquiryUnitTest + { + private readonly Mock> inquiryService; + public InquiryUnitTest() + { + inquiryService = new Mock>(); + } + + + [Fact] + public void GetInquiriesListSuccess() + { + var inquiryList = GetInquiriesData(); + inquiryService.Setup(x => x.GetInquiries(1, 4, 0)) + .Returns(inquiryList); + var InquiryController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiriesResult = InquiryController.GetInquiries(1, 4, 0); + + if (inquiriesResult is OkObjectResult okObjectResult) + { + var valeur = okObjectResult.Value; + + Assert.NotNull(valeur); + Assert.Equal(GetInquiriesData().ToString(), valeur.ToString()); + Assert.True(inquiryList.SequenceEqual(valeur as IEnumerable, new InquiryIdEqualityComparer())); + + } + + } + + [Fact] + public void GetinquiryListFail() + { + var inquiriesList = GetInquiriesData(); + inquiryService.Setup(x => x.GetInquiries(1, 3, 0)) + .Returns(new List()); + var InquiryController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiriesResult = InquiryController.GetInquiries(2, 3, 0); + + if (inquiriesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) + + { + + Assert.IsNotType(inquiriesResult); + } + + } + + + + + + + + + + + + + + + + + + + + + + + private List GetInquiriesData() + { + List inquiriesData = new List(4) + { + new (0,"titre 1","La desc",false), + new (1,"titre 2","Description",true), + new (2,"ZUDZU ","OUHHHH",false), + new ("titre premium","Ascendant",true), + }; + return inquiriesData; + } + + + } +} diff --git a/API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs b/API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs deleted file mode 100644 index 1afc3f2..0000000 --- a/API_SQLuedo/TestAPI/StatusCodeUserUnitTest.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using API.Controllers; -using API.Service; -using DbContextLib; -using DbDataManager.Service; -using Dto; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Infrastructure; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Npgsql.Internal; -using StubbedContextLib; -using Moq; - -namespace TestAPI -{ - public class StatusCodeUserUnitTest - { - - - - } -} diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 4f3ba71..8c45592 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -8,7 +8,6 @@ using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging.Abstractions; -using ModelToEntities.Business; using Moq; using Shared; using TestAPI.Extensions; @@ -27,11 +26,11 @@ namespace TestAPI public void GetUserListSuccess() { var userList = GetUsersData(); - userService.Setup(x => x.GetUsers(1 ,3)) + userService.Setup(x => x.GetUsers(1 ,4,0)) .Returns(userList); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.GetUsers(1,3); + var userResult = UsersController.GetUsers(1,4, 0); if (userResult is OkObjectResult okObjectResult) { @@ -39,7 +38,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetUsersData().ToString(), valeur.ToString()); - Assert.True(userList.SequenceEqual(valeur as IEnumerable,new IdEqualityComparer())); + Assert.True(userList.SequenceEqual(valeur as IEnumerable,new UserIdEqualityComparer())); } @@ -49,11 +48,11 @@ namespace TestAPI public void GetUserListFail() { var userList = GetUsersData(); - userService.Setup(x => x.GetUsers(1, 3)) + userService.Setup(x => x.GetUsers(1, 4,0)) .Returns(new List()); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.GetUsers(2,3); + var userResult = UsersController.GetUsers(2,3, 0); if (userResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) @@ -71,9 +70,9 @@ namespace TestAPI var userList = GetUsersData(); userService.Setup(x => x.GetUserById(1)) .Returns(userList[1]); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.GetUserById(1); + var userResult = UsersController.GetUserById(1); if (userResult is OkObjectResult okObjectResult) { UserDTO valeur = okObjectResult.Value as UserDTO; @@ -94,9 +93,9 @@ namespace TestAPI var userList = GetUsersData(); userService.Setup(x => x.GetUserById(1)) .Returns(userList[1]); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.GetUserById(100); + var userResult = UsersController.GetUserById(100); if (userResult is NotFoundObjectResult NFObjectResult) { var valeur = NFObjectResult.Value; @@ -115,9 +114,9 @@ namespace TestAPI var userList = GetUsersData(); userService.Setup(x => x.GetUserByUsername("Useruser")) .Returns(userList[0]); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.GetUserByUsername("Useruser"); + var userResult = UsersController.GetUserByUsername("Useruser"); if (userResult is OkObjectResult okObjectResult) { UserDTO valeur = okObjectResult.Value as UserDTO; @@ -140,9 +139,9 @@ namespace TestAPI var userList = GetUsersData(); userService.Setup(x => x.GetUserByUsername("Useruser")) .Returns(userList[0]); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.GetUserByUsername("GYIIieihhh"); + var userResult = UsersController.GetUserByUsername("GYIIieihhh"); if (userResult is NotFoundObjectResult NFObjectResult) { @@ -165,9 +164,9 @@ namespace TestAPI { userService.Setup(x => x.DeleteUser(1)) .Returns(true); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.DeleteUser(1); + var userResult = UsersController.DeleteUser(1); if (userResult is OkObjectResult okObjectResult) { bool valeur = (bool)okObjectResult.Value; @@ -184,9 +183,9 @@ namespace TestAPI var userList = GetUsersData(); userService.Setup(x => x.DeleteUser(1)) .Returns(true); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.DeleteUser(100); + var userResult = UsersController.DeleteUser(100); if (userResult is OkObjectResult okObjectResult) { Assert.Null(okObjectResult.Value); @@ -200,9 +199,9 @@ namespace TestAPI { userService.Setup(x => x.CreateUser("Nom","Passssss","heudfk@hdye.com",true)) .Returns(new UserDTO("Nom","Passssss", "heudfk@hdye.com",true)); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.CreateUser(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.CreateUser(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is CreatedResult createdObjectResult) { UserDTO valeur = createdObjectResult.Value as UserDTO; @@ -222,9 +221,9 @@ namespace TestAPI var userList = GetUsersData(); userService.Setup(x => x.CreateUser("Nom", "Passssss", "heudfk@hdye.com", true)) .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.CreateUser(new UserDTO(null, "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.CreateUser(new UserDTO(null, "Passssss", "heudfk@hdye.com", true)); if (userResult is BadRequestResult BDObjectResult) { @@ -239,9 +238,9 @@ namespace TestAPI { userService.Setup(x => x.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true))) .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is OkObjectResult okObjectResult) { UserDTO valeur = okObjectResult.Value as UserDTO; @@ -260,9 +259,9 @@ namespace TestAPI { userService.Setup(x => x.UpdateUser(1, new UserDTO(2,"Nom", "Passssss", "heudfk@hdye.com", true))) .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); - var userController = new UserController(new NullLogger(), userService.Object); + var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = userController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is BadRequestResult BDObjectResult) { From f0c096e14757c8950fd177fc31eae06716ea9de4 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 18:25:38 +0100 Subject: [PATCH 27/50] Ajout TU pour GetInquiryByTitle et ByID --- API_SQLuedo/TestAPI/InquiryUnitTest.cs | 90 +++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs index f5b3285..2a5f72b 100644 --- a/API_SQLuedo/TestAPI/InquiryUnitTest.cs +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using API.Controllers; +using Microsoft.Extensions.Logging; using TestAPI.Extensions; namespace TestAPI @@ -68,12 +69,99 @@ namespace TestAPI + [Fact] + public void GetInquiryIdSuccess() + { + var inquiryList = GetInquiriesData(); + inquiryService.Setup(x => x.GetInquiryById(1)) + .Returns(inquiryList[1]); + var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger() ); + + var inquiryResult = InquiriesController.GetInquiryById(1); + if (inquiryResult is OkObjectResult okObjectResult) + { + InquiryDTO valeur = okObjectResult.Value as InquiryDTO; + + Assert.NotNull(valeur); + Assert.Equal("titre 2", valeur.Title); + Assert.Equal("Description", valeur.Description); + Assert.True(valeur.IsUser); + Assert.Equal(valeur.GetHashCode(), inquiryList[1].GetHashCode()); + Assert.True(valeur.Equals(inquiryList[1])); + Assert.False(valeur.Equals(new object())); + Assert.IsType(valeur); + Assert.Contains(valeur, inquiryList); + } + + } + + [Fact] + public void GetInquiryIdFail() + { + var inquiryList = GetInquiriesData(); + inquiryService.Setup(x => x.GetInquiryById(1)) + .Returns(inquiryList[1]); + var InquiriesController = new InquiriesController(inquiryService.Object,new NullLogger()); + + var inquiryResult = InquiriesController.GetInquiryById(100); + if (inquiryResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, inquiryList); + } + + } + + + + [Fact] + public void GetInquiryTitleSuccess() + { + var inquiryList = GetInquiriesData(); + inquiryService.Setup(x => x.GetInquiryByTitle("ZUDZU")) + .Returns(inquiryList[2]); + var InquiriesController = new InquiriesController(inquiryService.Object,new NullLogger()); + + var userResult = InquiriesController.GetInquiryByTitle("ZUDZU"); + if (userResult is OkObjectResult okObjectResult) + { + InquiryDTO valeur = okObjectResult.Value as InquiryDTO; + + Assert.NotNull(valeur); + Assert.IsType(valeur); + Assert.Contains(valeur, inquiryList); + Assert.Equal("ZUDZU", valeur.Title); + Assert.Equal("OUHHHH", valeur.Description); + Assert.Equal(2, valeur.Id); + Assert.False(valeur.IsUser); + } + } + [Fact] + public void GetInquiryTitleFail() + { + var inquiryList = GetInquiriesData(); + inquiryService.Setup(x => x.GetInquiryByTitle("ZUDZU")) + .Returns(inquiryList[2]); + var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); + var userResult = InquiriesController.GetInquiryByTitle("GYIIieihhh"); + if (userResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, inquiryList); + Assert.False(inquiryList == valeur); + } + } @@ -90,7 +178,7 @@ namespace TestAPI { new (0,"titre 1","La desc",false), new (1,"titre 2","Description",true), - new (2,"ZUDZU ","OUHHHH",false), + new (2,"ZUDZU","OUHHHH",false), new ("titre premium","Ascendant",true), }; return inquiriesData; From df95674511d7c5cd289e61ba3cc09ae1bcbeb7cc Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 18:45:51 +0100 Subject: [PATCH 28/50] Ajout TU Create et Delete pour InquiryController --- API_SQLuedo/TestAPI/InquiryUnitTest.cs | 88 ++++++++++++++++++++++++-- API_SQLuedo/TestAPI/UserUnitTest.cs | 7 +- 2 files changed, 86 insertions(+), 9 deletions(-) diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs index 2a5f72b..de4068b 100644 --- a/API_SQLuedo/TestAPI/InquiryUnitTest.cs +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -46,7 +46,7 @@ namespace TestAPI } [Fact] - public void GetinquiryListFail() + public void GetInquiresListFail() { var inquiriesList = GetInquiriesData(); inquiryService.Setup(x => x.GetInquiries(1, 3, 0)) @@ -125,8 +125,8 @@ namespace TestAPI .Returns(inquiryList[2]); var InquiriesController = new InquiriesController(inquiryService.Object,new NullLogger()); - var userResult = InquiriesController.GetInquiryByTitle("ZUDZU"); - if (userResult is OkObjectResult okObjectResult) + var inquiriesResult = InquiriesController.GetInquiryByTitle("ZUDZU"); + if (inquiriesResult is OkObjectResult okObjectResult) { InquiryDTO valeur = okObjectResult.Value as InquiryDTO; @@ -150,9 +150,9 @@ namespace TestAPI .Returns(inquiryList[2]); var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); - var userResult = InquiriesController.GetInquiryByTitle("GYIIieihhh"); + var inquiriesResult = InquiriesController.GetInquiryByTitle("GYIIieihhh"); - if (userResult is NotFoundObjectResult NFObjectResult) + if (inquiriesResult is NotFoundObjectResult NFObjectResult) { var valeur = NFObjectResult.Value; @@ -168,6 +168,84 @@ namespace TestAPI + [Fact] + public void DeleteUserSuccess() + { + inquiryService.Setup(x => x.DeleteInquiry(1)) + .Returns(true); + var inquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiryResult = inquiriesController.DeleteInquiry(1); + if (inquiryResult is OkObjectResult okObjectResult) + { + bool valeur = (bool)okObjectResult.Value; + + Assert.True(valeur); + } + + } + + + [Fact] + public void DeleteUserFail() + { + inquiryService.Setup(x => x.DeleteInquiry(1)) + .Returns(true); + var inquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiryResult = inquiriesController.DeleteInquiry(100); + if (inquiryResult is NotFoundObjectResult NFObjectResult) + { + Assert.Null(NFObjectResult.Value); + Assert.IsNotType(NFObjectResult.Value); + } + } + + + [Fact] + public void CreateUserSuccess() + { + inquiryService.Setup(x => x.CreateInquiry("Titros","description",false)) + .Returns(new InquiryDTO(4,"Titros","description",false)); + var InquiriesController = new InquiriesController( inquiryService.Object,new NullLogger()); + + var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDTO("Titros", "description", false)); + if (inquiriesResult is CreatedResult createdObjectResult) + { + InquiryDTO valeur = createdObjectResult.Value as InquiryDTO; + + Assert.NotNull(valeur); + Assert.Equal(4, valeur.Id); + Assert.Equal("Titros", valeur.Title); + Assert.Equal("description", valeur.Description); + Assert.False(valeur.IsUser); + } + + } + + [Fact] + public void CreateUserFail() + { + inquiryService.Setup(x => x.CreateInquiry("Titros", "description", false)) + .Returns(new InquiryDTO(4, "Titros", "description", false)); + var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDTO(4, null, "heudfk@hdye.com", true)); + + if (inquiriesResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } + + + + + + + + diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 8c45592..de1ca65 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -180,16 +180,15 @@ namespace TestAPI [Fact] public void DeleteUserFail() { - var userList = GetUsersData(); userService.Setup(x => x.DeleteUser(1)) .Returns(true); var UsersController = new UsersController(new NullLogger(), userService.Object); var userResult = UsersController.DeleteUser(100); - if (userResult is OkObjectResult okObjectResult) + if (userResult is NotFoundObjectResult NFObjectResult) { - Assert.Null(okObjectResult.Value); - Assert.IsNotType(okObjectResult.Value); + Assert.Null(NFObjectResult.Value); + Assert.IsNotType(NFObjectResult.Value); } } From 403aa3bdc407afe46801b72cc81aecce13f83324 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 18:51:44 +0100 Subject: [PATCH 29/50] Fin TU InquiriesController --- API_SQLuedo/TestAPI/InquiryUnitTest.cs | 35 ++++++++++++++++++++++++++ API_SQLuedo/TestAPI/UserUnitTest.cs | 4 +-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs index de4068b..0654a2c 100644 --- a/API_SQLuedo/TestAPI/InquiryUnitTest.cs +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -240,6 +240,41 @@ namespace TestAPI } + [Fact] + public void UpdateUserSuccess() + { + inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true))) + .Returns(new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); + var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiriesResult = InquiriesController.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); + if (inquiriesResult is OkObjectResult okObjectResult) + { + InquiryDTO valeur = okObjectResult.Value as InquiryDTO; + + Assert.NotNull(valeur); + Assert.Equal("Passssss", valeur.Title); + Assert.Equal("heudfk@hdye.com", valeur.Description); + Assert.True(valeur.IsUser); + } + + } + + [Fact] + public void UpdateUserFail() + { + inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true))) + .Returns(new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); + var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); + + var inquiriesResult = InquiriesController.UpdateInquiry(1, new InquiryDTO(2, "Passssss", "heudfk@hdye.com", true)); + + if (inquiriesResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index de1ca65..4b28e91 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -256,11 +256,11 @@ namespace TestAPI [Fact] public void UpdateUserFail() { - userService.Setup(x => x.UpdateUser(1, new UserDTO(2,"Nom", "Passssss", "heudfk@hdye.com", true))) + userService.Setup(x => x.UpdateUser(1, new UserDTO(1,"Nom", "Passssss", "heudfk@hdye.com", true))) .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = UsersController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.UpdateUser(1, new UserDTO(2,"Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is BadRequestResult BDObjectResult) { From 5a8d8fe4e9f9f72b56f8b2a9cd8e528323c572d9 Mon Sep 17 00:00:00 2001 From: "Johnny.Ratton" Date: Fri, 15 Mar 2024 19:30:07 +0100 Subject: [PATCH 30/50] =?UTF-8?q?R=C3=A9glage=20de=20diff=C3=A9rents=20bug?= =?UTF-8?q?s=20et=20incoh=C3=A9rences=20li=C3=A9s=20aux=20succ=C3=A8s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Controllers/SuccessesController.cs | 33 +++++++-------- .../API/Service/SuccessDataServiceAPI.cs | 10 ++--- .../Service/SuccessDataService.cs | 42 ++++++++++--------- API_SQLuedo/Shared/ISuccessService.cs | 8 ++-- API_SQLuedo/TestConsoleAPI/Program.cs | 14 ++++--- 5 files changed, 55 insertions(+), 52 deletions(-) diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index ca9a8a6..0a48938 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -47,7 +47,7 @@ namespace API.Controllers try { _logger.LogInformation("[INFORMATION] Le succès avec l'id de l'utilisateur {id} a été trouvé.", id); - return Ok(_successDataService.GetSuccessByUserId(id)); + return Ok(_successDataService.GetSuccessesByUserId(id)); } catch (ArgumentException) { @@ -65,7 +65,7 @@ namespace API.Controllers { _logger.LogInformation("[INFORMATION] Utilisateur avec l'id de l'enquête {inquiryId} a été trouvé.", id); - return Ok(_successDataService.GetSuccessByInquiryId(id)); + return Ok(_successDataService.GetSuccessesByInquiryId(id)); } catch (ArgumentException) { @@ -74,20 +74,20 @@ namespace API.Controllers } } - [HttpDelete("success/{id:int}")] + [HttpDelete("success/{idUser:int}/{idInquiry:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 404)] - public IActionResult DeleteSuccess(int id) + public IActionResult DeleteSuccess(int idUser, int idInquiry) { - var success = _successDataService.DeleteSuccess(id); + var success = _successDataService.DeleteSuccess(idUser, idInquiry); if (success) { - _logger.LogInformation("[INFORMATION] Le succès avec l'id {id} a été supprimé.", id); - return Ok(_successDataService.DeleteSuccess(id)); + _logger.LogInformation("[INFORMATION] Le succès avec l'id {id} a été supprimé.", idUser); + return Ok(success); } else { - _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id {id}.", id); + _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id {id}.", idUser); return NotFound(); } } @@ -108,35 +108,34 @@ namespace API.Controllers _successDataService.CreateSuccess(dto.UserId, dto.InquiryId, dto.IsFinished)); } - [HttpPut("success/{id:int}")] + [HttpPut("success/{idUser:int}/{idInquiry:int}")] [ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateSuccess(int id, [FromBody] SuccessDTO successDTO) + public IActionResult UpdateSuccess(int idUser, int idInquiry, [FromBody] SuccessDTO successDTO) { - if (id != successDTO.UserId) + if (idUser != successDTO.UserId || idInquiry != successDTO.InquiryId) { _logger.LogError( - "[ERREUR] Problème ID - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", id); + "[ERREUR] Problème ID - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", idUser); return BadRequest(); } - if (!ModelState.IsValid) { _logger.LogError( "[ERREUR] Problème controlleur - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", - id); + idUser); return BadRequest(); } if (successDTO != null) { _logger.LogInformation( - "[INFORMATION] La mise à jour du succès avec l'id de l'utilisateur {id} a été effectuée", id); - return Ok(_successDataService.UpdateSuccess(id, successDTO)); + "[INFORMATION] La mise à jour du succès avec l'id de l'utilisateur {id} a été effectuée", idUser); + return Ok(_successDataService.UpdateSuccess(idUser,idInquiry, successDTO)); } - _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id de l'utilisateur {id}.", id); + _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id de l'utilisateur {id}.", idUser); return NotFound(); } } diff --git a/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs b/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs index af403c5..047203d 100644 --- a/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs @@ -14,14 +14,14 @@ public class SuccessDataServiceApi(ISuccessService sucessService) return successesEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public SuccessDTO GetSuccessByUserId(int id) => sucessService.GetSuccessByUserId(id).FromEntityToDTO(); + public IEnumerable GetSuccessesByUserId(int id) => sucessService.GetSuccessesByUserId(id).Select(s => s.FromEntityToDTO()); - public SuccessDTO GetSuccessByInquiryId(int id) => sucessService.GetSuccessByInquiryId(id).FromEntityToDTO(); + public IEnumerable GetSuccessesByInquiryId(int id) => sucessService.GetSuccessesByInquiryId(id).Select(s => s.FromEntityToDTO()); - public bool DeleteSuccess(int id) => sucessService.DeleteSuccess(id); + public bool DeleteSuccess(int idUser, int idInquiry) => sucessService.DeleteSuccess(idUser, idInquiry); - public SuccessDTO UpdateSuccess(int id, SuccessDTO success) => - sucessService.UpdateSuccess(id, success.FromDTOToEntity()).FromEntityToDTO(); + public SuccessDTO UpdateSuccess(int idUser, int idInquiry, SuccessDTO success) => + sucessService.UpdateSuccess(idUser, idInquiry, success.FromDTOToEntity()).FromEntityToDTO(); public SuccessDTO CreateSuccess(int userId, int inquiryId, bool isFinished) => sucessService.CreateSuccess(userId, inquiryId, isFinished).FromEntityToDTO(); diff --git a/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs b/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs index 36335d3..a247a24 100644 --- a/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs +++ b/API_SQLuedo/DbDataManager/Service/SuccessDataService.cs @@ -40,55 +40,53 @@ public class SuccessDataService : ISuccessService return successes; } - public SuccessEntity GetSuccessByUserId(int id) + public IEnumerable GetSuccessesByUserId(int id) { - var userEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); - if (userEntity == null) + var successes = DbContext.Successes.Where(u => u.UserId == id); + if (successes == null) { throw new ArgumentException("Impossible de trouver le succès", nameof(id)); } - return userEntity; + return successes; } - public SuccessEntity GetSuccessByInquiryId(int id) + public IEnumerable GetSuccessesByInquiryId(int id) { - var userEntity = DbContext.Successes.FirstOrDefault(u => u.InquiryId == id); - if (userEntity == null) + var successes = DbContext.Successes.Where(u => u.InquiryId == id); + if (successes == null) { throw new ArgumentException("Impossible de trouver le succès", nameof(id)); } - return userEntity; + return successes; } - public bool DeleteSuccess(int id) + public bool DeleteSuccess(int idUser, int idInquiry) { - var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == id); + var successEntity = DbContext.Successes.FirstOrDefault(u => u.UserId == idUser && u.InquiryId == idInquiry); if (successEntity == null) { return false; } - DbContext.Successes.Remove(successEntity); DbContext.SaveChangesAsync(); return true; } - public SuccessEntity UpdateSuccess(int id, SuccessEntity success) + public SuccessEntity UpdateSuccess(int idUser, int idInquiry, SuccessEntity success) { - var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == id); + var updatingSuccess = DbContext.Successes.FirstOrDefault(u => u.UserId == idUser && u.InquiryId == idInquiry); if (updatingSuccess == null) { - throw new ArgumentException("Impossible de trouver le succès", nameof(id)); + throw new ArgumentException("Impossible de trouver le succès", nameof(idUser)); } - - foreach (var pptt in typeof(SuccessEntity).GetProperties().Where(p => + /*foreach (var pptt in typeof(SuccessEntity).GetProperties().Where(p => p.CanWrite && p.Name != nameof(SuccessEntity.UserId) && p.Name != nameof(SuccessEntity.InquiryId))) { pptt.SetValue(updatingSuccess, pptt.GetValue(success)); - } - + }*/ + updatingSuccess.IsFinished = success.IsFinished; DbContext.SaveChangesAsync(); return updatingSuccess; } @@ -101,8 +99,12 @@ public class SuccessDataService : ISuccessService InquiryId = inquiryId, IsFinished = isFinished, }; - DbContext.Successes.Add(newSuccessEntity); - DbContext.SaveChangesAsync(); + var success = DbContext.Successes.Where(s => s.UserId == userId && s.InquiryId == inquiryId); + if (success == null) + { + DbContext.Successes.Add(newSuccessEntity); + DbContext.SaveChangesAsync(); + } return newSuccessEntity; } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/ISuccessService.cs b/API_SQLuedo/Shared/ISuccessService.cs index 07e5f9c..29932ff 100644 --- a/API_SQLuedo/Shared/ISuccessService.cs +++ b/API_SQLuedo/Shared/ISuccessService.cs @@ -5,10 +5,10 @@ namespace Shared public interface ISuccessService { public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria); - public TSuccess GetSuccessByUserId(int id); - public TSuccess GetSuccessByInquiryId(int id); - public bool DeleteSuccess(int id); - public TSuccess UpdateSuccess(int id, TSuccess success); + public IEnumerable GetSuccessesByUserId(int id); + public IEnumerable GetSuccessesByInquiryId(int id); + public bool DeleteSuccess(int idUser, int idInquiry); + public TSuccess UpdateSuccess(int idUser, int idInquiry, TSuccess success); public TSuccess CreateSuccess(int userId, int inquiryId, bool isFinished); } } \ No newline at end of file diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index a3b4275..6622ca8 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -519,13 +519,13 @@ using (var context = new UserDbContext(options)) { Console.WriteLine("Succès trouvé !\n"); Console.WriteLine("Veuillez saisir l'identifiant de l'utilisateur lié au succès :"); - var userId = Console.ReadLine(); + var userId = int.Parse(Console.ReadLine()); Console.WriteLine("Veuillez saisir l'identifiant de l'enquête lié au succès :"); - var inquiryId = Console.ReadLine(); + var inquiryId = int.Parse(Console.ReadLine()); Console.WriteLine("Veuillez saisir si l'enquête est terminée (0/1) :"); var isFinished = Console.ReadLine(); - var retour = successController.UpdateSuccess(id, - new SuccessDTO(int.Parse(userId), int.Parse(inquiryId), bool.Parse(isFinished))); + var retour = successController.UpdateSuccess(userId, inquiryId, + new SuccessDTO(userId, inquiryId, bool.Parse(isFinished))); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); @@ -605,8 +605,10 @@ using (var context = new UserDbContext(options)) void DeleteSuccess() { Console.WriteLine("Quel est l'identifiant de l'utilisateur lié au succès à supprimer ?"); - var id = int.Parse(Console.ReadLine()); - var res = successController.DeleteSuccess(id); + var idUser = int.Parse(Console.ReadLine()); + Console.WriteLine("Quel est l'identifiant de l'enquête lié au succès à supprimer ?"); + var idInquiry = int.Parse(Console.ReadLine()); + var res = successController.DeleteSuccess(idUser,idInquiry); if (res.GetType() == typeof(OkObjectResult)) { Console.WriteLine("La suppression a été effectuée avec succès !"); From 4df6eac1a0746ba5f905dac5f5b5937721a92b7b Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 21:20:10 +0100 Subject: [PATCH 31/50] Ajout des TU Pour GetSuccesses et GetSuccessesInquiryId --- API_SQLuedo/Dto/SuccessDTO.cs | 36 +++- .../Extensions/SuccessDto.EqualityComparer.cs | 22 +++ API_SQLuedo/TestAPI/InquiryUnitTest.cs | 3 +- API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 155 ++++++++++++++++++ API_SQLuedo/TestAPI/UserUnitTest.cs | 3 +- 5 files changed, 214 insertions(+), 5 deletions(-) create mode 100644 API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs create mode 100644 API_SQLuedo/TestAPI/SuccessesUnitTest.cs diff --git a/API_SQLuedo/Dto/SuccessDTO.cs b/API_SQLuedo/Dto/SuccessDTO.cs index 579f209..44ae880 100644 --- a/API_SQLuedo/Dto/SuccessDTO.cs +++ b/API_SQLuedo/Dto/SuccessDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class SuccessDTO +public class SuccessDTO : IEquatable { public int UserId { get; set; } public int InquiryId { get; set; } @@ -16,4 +16,38 @@ public class SuccessDTO InquiryId = inquiryId; IsFinished = isFinished; } + + public override string ToString() + { + return $"User :{UserId}\t Enquête : {InquiryId}\t{IsFinished}"; + } + + 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 SuccessDTO); + } + public bool Equals(SuccessDTO other) + { + return (this.UserId == other.UserId && this.InquiryId == other.InquiryId); + } + + public override int GetHashCode() + { + return UserId * InquiryId; + } } \ No newline at end of file diff --git a/API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs new file mode 100644 index 0000000..9516419 --- /dev/null +++ b/API_SQLuedo/TestAPI/Extensions/SuccessDto.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 SuccessIdEqualityComparer : EqualityComparer + { + public override bool Equals(SuccessDTO x, SuccessDTO y) + { + return x.UserId == y.UserId && x.InquiryId == y.InquiryId; + } + + public override int GetHashCode(SuccessDTO obj) + { + return obj.UserId * obj.InquiryId; + } + } +} diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs index 0654a2c..7d65d3c 100644 --- a/API_SQLuedo/TestAPI/InquiryUnitTest.cs +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -48,8 +48,7 @@ namespace TestAPI [Fact] public void GetInquiresListFail() { - var inquiriesList = GetInquiriesData(); - inquiryService.Setup(x => x.GetInquiries(1, 3, 0)) + inquiryService.Setup(x => x.GetInquiries(1, 4, 0)) .Returns(new List()); var InquiryController = new InquiriesController(inquiryService.Object, new NullLogger()); diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs new file mode 100644 index 0000000..9f96393 --- /dev/null +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -0,0 +1,155 @@ +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 SuccessesUnitTest + { + private readonly Mock> sucessService; + public SuccessesUnitTest() + { + sucessService = new Mock>(); + } + + + [Fact] + public void GetSuccessesListSuccess() + { + var successesList = GetSuccessesData(); + sucessService.Setup(x => x.GetSuccesses(1, 4, 0)) + .Returns(successesList); + var successesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var successesResult = successesController.GetSuccesses(1, 4, 0); + + if (successesResult is OkObjectResult okObjectResult) + { + var valeur = okObjectResult.Value; + + Assert.NotNull(valeur); + Assert.Equal(GetSuccessesData().ToString(), valeur.ToString()); + Assert.True(successesList.SequenceEqual(valeur as IEnumerable, new SuccessIdEqualityComparer())); + + } + + } + + [Fact] + public void GetSuccessesListFail() + { + sucessService.Setup(x => x.GetSuccesses(1, 4, 0)) + .Returns(new List()); + var successesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var successesResult = successesController.GetSuccesses(2, 3, 0); + + if (successesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) + + { + + Assert.IsNotType(successesResult); + } + + } + + + [Fact] + public void GetSuccessInquiryIdSuccess() + { + var successesList = GetSuccessesData(); + sucessService.Setup(x => x.GetSuccessesByInquiryId(1)) + .Returns(new List { successesList[0], successesList[1] }); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var sucessesResult = SuccessesController.GetSuccessByInquiryId(1); + if (sucessesResult is OkObjectResult okObjectResult) + { + List valeur = okObjectResult.Value as List; + + Assert.NotNull(valeur); + Assert.Equal(0, valeur[0].UserId); + Assert.Equal(1, valeur[0].InquiryId); + Assert.True(valeur[0].IsFinished); + Assert.Equal(1, valeur[1].UserId); + Assert.Equal(1, valeur[1].InquiryId); + Assert.True(valeur[1].IsFinished); + + + Assert.Equal(valeur[1].GetHashCode(), successesList[1].GetHashCode()); + Assert.True(valeur[1].Equals(successesList[1])); + Assert.False(valeur.Equals(new object())); + Assert.IsType(valeur[0]); + Assert.Contains(valeur[1], successesList); + } + + } + + [Fact] + public void GetSuccessInquiryIdFail() + { + var successesList = GetSuccessesData(); + sucessService.Setup(x => x.GetSuccessesByInquiryId(1)) + .Returns(new List { successesList[0], successesList[1] }); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var sucessesResult = SuccessesController.GetSuccessByInquiryId(100); + if (sucessesResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, successesList); + } + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + private List GetSuccessesData() + { + List successesData = new List(4) + { + new (0,1,true), + new (1,1,true), + new (2,3,true), + new (3,4,true), + }; + return successesData; + } + } +} diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index 4b28e91..c4e8311 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -46,8 +46,7 @@ namespace TestAPI [Fact] public void GetUserListFail() - { - var userList = GetUsersData(); + { userService.Setup(x => x.GetUsers(1, 4,0)) .Returns(new List()); var UsersController = new UsersController(new NullLogger(), userService.Object); From f0cb5933a0f16a1e73ed65a8d028d68822bdf65a Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 21:24:42 +0100 Subject: [PATCH 32/50] Ajout des TU pour GetSuccessesByUserId --- API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 51 +++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index 9f96393..1374b0b 100644 --- a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -115,7 +115,56 @@ namespace TestAPI } + [Fact] + public void GetSuccessUserIdSuccess() + { + var successesList = GetSuccessesData(); + sucessService.Setup(x => x.GetSuccessesByUserId(2)) + .Returns(new List { successesList[2], successesList[3] }); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var sucessesResult = SuccessesController.GetSuccessByUserId(2); + if (sucessesResult is OkObjectResult okObjectResult) + { + List valeur = okObjectResult.Value as List; + + Assert.NotNull(valeur); + Assert.Equal(2, valeur[0].UserId); + Assert.Equal(3, valeur[0].InquiryId); + Assert.True(valeur[0].IsFinished); + Assert.Equal(2, valeur[1].UserId); + Assert.Equal(4, valeur[1].InquiryId); + Assert.True(valeur[1].IsFinished); + + + Assert.Equal(valeur[1].GetHashCode(), successesList[3].GetHashCode()); + Assert.True(valeur[1].Equals(successesList[3])); + Assert.False(valeur.Equals(new object())); + Assert.IsType(valeur[0]); + Assert.Contains(valeur[1], successesList); + } + } + + [Fact] + public void GetSuccessUserIdFail() + { + var successesList = GetSuccessesData(); + sucessService.Setup(x => x.GetSuccessesByUserId(2)) + .Returns(new List { successesList[2], successesList[3] }); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var sucessesResult = SuccessesController.GetSuccessByUserId(200); + if (sucessesResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, successesList); + } + + } @@ -147,7 +196,7 @@ namespace TestAPI new (0,1,true), new (1,1,true), new (2,3,true), - new (3,4,true), + new (2,4,true), }; return successesData; } From e59a45229369c6c16f7e5e5528c734bfb5235939 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 21:33:32 +0100 Subject: [PATCH 33/50] Ajout des TU Delete Success --- API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index 1374b0b..11780ab 100644 --- a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -88,6 +88,8 @@ namespace TestAPI Assert.Equal(valeur[1].GetHashCode(), successesList[1].GetHashCode()); Assert.True(valeur[1].Equals(successesList[1])); Assert.False(valeur.Equals(new object())); + Assert.False(valeur.Equals(null)); + Assert.True(valeur.Equals(valeur)); Assert.IsType(valeur[0]); Assert.Contains(valeur[1], successesList); } @@ -168,6 +170,41 @@ namespace TestAPI + [Fact] + public void DeleteSuccessSuccess() + { + sucessService.Setup(x => x.DeleteSuccess(1,1)) + .Returns(true); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var sucessesResult = SuccessesController.DeleteSuccess(1,1); + if (sucessesResult is OkObjectResult okObjectResult) + { + bool valeur = (bool)okObjectResult.Value; + + Assert.True(valeur); + } + + } + + + [Fact] + public void DeleteSucessFail() + { + sucessService.Setup(x => x.DeleteSuccess(1, 1)) + .Returns(true); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var sucessesResult = SuccessesController.DeleteSuccess(100, 278); + if (sucessesResult is NotFoundObjectResult NFObjectResult) + { + Assert.Null(NFObjectResult.Value); + Assert.IsNotType(NFObjectResult.Value); + } + } + + + From d34c75d6bfd4942818984558ac8759ef8ee447ab Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 21:37:09 +0100 Subject: [PATCH 34/50] Ajout des TU Create sur les Success --- API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 43 +++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index 11780ab..06c1c9f 100644 --- a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -189,7 +189,7 @@ namespace TestAPI [Fact] - public void DeleteSucessFail() + public void DeleteSuccessFail() { sucessService.Setup(x => x.DeleteSuccess(1, 1)) .Returns(true); @@ -204,6 +204,47 @@ namespace TestAPI } + [Fact] + public void CreateSuccessSuccess() + { + sucessService.Setup(x => x.CreateSuccess(8,8,true)) + .Returns(new SuccessDTO(8,8,true)); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var successesResult = SuccessesController.CreateSuccess(new SuccessDTO(8,8,true)); + if (successesResult is CreatedResult createdObjectResult) + { + SuccessDTO valeur = createdObjectResult.Value as SuccessDTO; + + Assert.NotNull(valeur); + Assert.Equal(8, valeur.UserId); + Assert.Equal(8, valeur.InquiryId); + Assert.True(valeur.IsFinished); + } + + } + + [Fact] + public void CreateSuccessFail() + { + sucessService.Setup(x => x.CreateSuccess(8, 8, true)) + .Returns(new SuccessDTO(8, 8, true)); + var SuccessesController = new SuccessesController(sucessService.Object, new NullLogger()); + + var successesResult = SuccessesController.CreateSuccess(new SuccessDTO(882, 818, true)); + + if (successesResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } + + + + + + From 8d1791b7cfebb261231040eef2117d8e454b0cdb Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 21:43:44 +0100 Subject: [PATCH 35/50] =?UTF-8?q?Fin=20TU=20Success=20Controller=20et=20re?= =?UTF-8?q?factor=20nom=20m=C3=A9thode=20TU=20Inquiries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API_SQLuedo/TestAPI/InquiryUnitTest.cs | 12 +++---- API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 42 ++++++++++++++++-------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs index 7d65d3c..8b7a9e3 100644 --- a/API_SQLuedo/TestAPI/InquiryUnitTest.cs +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -168,7 +168,7 @@ namespace TestAPI [Fact] - public void DeleteUserSuccess() + public void DeleteInquirySuccess() { inquiryService.Setup(x => x.DeleteInquiry(1)) .Returns(true); @@ -186,7 +186,7 @@ namespace TestAPI [Fact] - public void DeleteUserFail() + public void DeleteInquiryFail() { inquiryService.Setup(x => x.DeleteInquiry(1)) .Returns(true); @@ -202,7 +202,7 @@ namespace TestAPI [Fact] - public void CreateUserSuccess() + public void CreateInquirySuccess() { inquiryService.Setup(x => x.CreateInquiry("Titros","description",false)) .Returns(new InquiryDTO(4,"Titros","description",false)); @@ -223,7 +223,7 @@ namespace TestAPI } [Fact] - public void CreateUserFail() + public void CreateInquiryFail() { inquiryService.Setup(x => x.CreateInquiry("Titros", "description", false)) .Returns(new InquiryDTO(4, "Titros", "description", false)); @@ -240,7 +240,7 @@ namespace TestAPI [Fact] - public void UpdateUserSuccess() + public void UpdateInquirySuccess() { inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true))) .Returns(new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); @@ -260,7 +260,7 @@ namespace TestAPI } [Fact] - public void UpdateUserFail() + public void UpdateInquiryFail() { inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true))) .Returns(new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index 06c1c9f..4033e10 100644 --- a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -242,27 +242,41 @@ namespace TestAPI + [Fact] + public void UpdateUserSuccess() + { + sucessService.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 successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDTO(1, 1, true)); + if (successesResult is OkObjectResult okObjectResult) + { + SuccessDTO valeur = okObjectResult.Value as SuccessDTO; + Assert.NotNull(valeur); + Assert.Equal(1, valeur.UserId); + Assert.Equal(1, valeur.InquiryId); + Assert.True(valeur.IsFinished); + } + } + [Fact] + public void UpdateUserFail() + { + sucessService.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 successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true)); + if (successesResult is BadRequestResult BDObjectResult) + { - - - - - - - - - - - - - - + Assert.Equal(400, BDObjectResult.StatusCode); + } + } From e4ab7040e3058cb86d9566b789444b612d543c39 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:14:05 +0100 Subject: [PATCH 36/50] 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)); From f9f356d3291d641b6de9d4c4fd9280720089e1a9 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:28:35 +0100 Subject: [PATCH 37/50] Ajout des TU GetById sur les paragraphs --- API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 56 ++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index 1d6186a..dd2f8d7 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -65,6 +65,60 @@ namespace TestAPI + [Fact] + public void GetParagraphIdSuccess() + { + var paragraphsList = GetParagraphsData(); + paragraphService.Setup(x => x.GetParagraphById(1)) + .Returns(paragraphsList[1]); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.GetParagraphById(1); + if (paragraphsResult is OkObjectResult okObjectResult) + { + ParagraphDTO valeur = okObjectResult.Value as ParagraphDTO; + + Assert.NotNull(valeur); + Assert.Equal("Le titre", valeur.Title); + Assert.Equal("pas contenu", valeur.Content); + Assert.Equal("Pas d'infos ici", valeur.Info); + Assert.Equal("Delete * from Earth", valeur.Query); + Assert.Equal("Miam", valeur.Comment); + Assert.Equal(2, valeur.LessonId); + + + Assert.Equal(valeur.GetHashCode(), paragraphsList[1].GetHashCode()); + Assert.True(valeur.Equals(paragraphsList[1])); + Assert.False(valeur.Equals(new object())); + Assert.True(valeur.Equals(valeur)); + Assert.IsType(valeur); + Assert.Contains(valeur, paragraphsList); + } + + } + + [Fact] + public void GetParagraphIdFail() + { + var paragraphsList = GetParagraphsData(); + paragraphService.Setup(x => x.GetParagraphById(1)) + .Returns(paragraphsList[1]); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.GetParagraphById(100); + if (paragraphsResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, paragraphsList); + } + + } + + + @@ -102,7 +156,7 @@ namespace TestAPI 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 (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), From 38f5f386dc5ffd0b2adb309de55f1437848c77d9 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:35:43 +0100 Subject: [PATCH 38/50] TU GetByTitle ParagraphController --- API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index dd2f8d7..c1ca68c 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -118,7 +118,53 @@ namespace TestAPI } + [Fact] + public void GetParagraphTitleSuccess() + { + var paragraphsList = GetParagraphsData(); + paragraphService.Setup(x => x.GetParagraphByTitle("Title")) + .Returns(paragraphsList[3]); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.GetParagraphByTitle("Title"); + if (paragraphsResult is OkObjectResult okObjectResult) + { + ParagraphDTO valeur = okObjectResult.Value as ParagraphDTO; + + Assert.NotNull(valeur); + Assert.Equal("Title", valeur.Title); + Assert.Equal("Content", valeur.Content); + Assert.Equal("Je ne parle pas anglais", valeur.Info); + Assert.Equal("Select select from select", valeur.Query); + Assert.Equal("Mais qui est ce commentaire", valeur.Comment); + Assert.Equal(3, valeur.LessonId); + Assert.IsType(valeur); + Assert.Contains(valeur, paragraphsList); + } + + } + + [Fact] + public void GetParagraphTitleFail() + { + var paragraphsList = GetParagraphsData(); + paragraphService.Setup(x => x.GetParagraphByTitle("Title")) + .Returns(paragraphsList[3]); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.GetParagraphByTitle("IUHIUHU"); + + if (paragraphsResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, paragraphsList); + Assert.False(paragraphsList == valeur); + } + } From f1029e3e444ac67f7af3456df866b7c23714ca83 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:38:49 +0100 Subject: [PATCH 39/50] TU Delete ParagraphController --- API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 33 +++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index c1ca68c..73e22d1 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -167,6 +167,39 @@ namespace TestAPI } + [Fact] + public void DeleteParagraphSuccess() + { + paragraphService.Setup(x => x.DeleteParagraph(1)) + .Returns(true); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.DeleteParagraph(1); + if (paragraphsResult is OkObjectResult okObjectResult) + { + bool valeur = (bool)okObjectResult.Value; + + Assert.True(valeur); + } + + } + + + [Fact] + public void DeleteParagraphFail() + { + paragraphService.Setup(x => x.DeleteParagraph(1)) + .Returns(true); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.DeleteParagraph(100); + if (paragraphsResult is NotFoundObjectResult NFObjectResult) + { + Assert.Null(NFObjectResult.Value); + Assert.IsNotType(NFObjectResult.Value); + } + } + From 4f3de6b3ab9cacda5aaaf0227d7e7f413a18572b Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:44:24 +0100 Subject: [PATCH 40/50] Ajout des TU Create pour ParagraphController --- API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index 73e22d1..f1a121e 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -201,7 +201,44 @@ namespace TestAPI } + [Fact] + public void CreateParagraphSuccess() + { + paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre","Le nouveau content","Les infos","La requête requêtante","Commentaires",2)) + .Returns(new ParagraphDTO("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.CreateParagraph(new ParagraphDTO("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + if (paragraphsResult is CreatedResult createdObjectResult) + { + ParagraphDTO valeur = createdObjectResult.Value as ParagraphDTO; + + Assert.NotNull(valeur); + Assert.Equal("Le nouveau titre", valeur.Title); + Assert.Equal("Le nouveau content", valeur.Content); + Assert.Equal("Les infos", valeur.Info); + Assert.Equal("La requête requêtante", valeur.Query); + Assert.Equal("Commentaires", valeur.Comment); + Assert.Equal(2, valeur.LessonId); + } + + } + + [Fact] + public void CreateParagraphFail() + { + paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)) + .Returns(new ParagraphDTO("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + var paragraphsResult = ParagraphsController.CreateParagraph(new ParagraphDTO(null, "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + + if (paragraphsResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } From 957e8647702665340cd4ae890a421fe3850704d8 Mon Sep 17 00:00:00 2001 From: masapountz Date: Fri, 15 Mar 2024 22:49:24 +0100 Subject: [PATCH 41/50] Fin des TU ParagraphController --- API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 40 +++++++++++++++++++++++ API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 4 +-- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index f1a121e..162d102 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -241,6 +241,46 @@ namespace TestAPI } + [Fact] + public void UpdateParagraphSuccess() + { + paragraphService.Setup(x => x.UpdateParagraph(1,new ParagraphDTO(1,"Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2))) + .Returns(new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + if (paragraphsResult is OkObjectResult okObjectResult) + { + ParagraphDTO valeur = okObjectResult.Value as ParagraphDTO; + + Assert.NotNull(valeur); + Assert.Equal("Le nouveau titre", valeur.Title); + Assert.Equal("Le nouveau content", valeur.Content); + Assert.Equal("Les infos", valeur.Info); + Assert.Equal("La requête requêtante", valeur.Query); + Assert.Equal("Commentaires", valeur.Comment); + Assert.Equal(2, valeur.LessonId); + } + + } + + [Fact] + public void UpdateParagraphFail() + { + paragraphService.Setup(x => x.UpdateParagraph(1, new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2))) + .Returns(new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); + + var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDTO(2, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + + if (paragraphsResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } + + diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index c90e046..1422c57 100644 --- a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs +++ b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs @@ -243,7 +243,7 @@ namespace TestAPI [Fact] - public void UpdateUserSuccess() + public void UpdateSuccessSuccess() { successService.Setup(x => x.UpdateSuccess(1,1,new SuccessDTO(1,1,true))) .Returns(new SuccessDTO(1, 1, true)); @@ -263,7 +263,7 @@ namespace TestAPI } [Fact] - public void UpdateUserFail() + public void UpdateSuccessFail() { successService.Setup(x => x.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true))) .Returns(new SuccessDTO(1, 2, true)); From 62ea58dae4e30f14d91fe02d451d3b4248d03b05 Mon Sep 17 00:00:00 2001 From: Clement CHIEU Date: Sat, 16 Mar 2024 08:42:45 +0100 Subject: [PATCH 42/50] =?UTF-8?q?Modification=20inutile=20servant=20=C3=A0?= =?UTF-8?q?=20faire=20la=20code-inspection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b41071..343e215 100644 --- a/README.md +++ b/README.md @@ -83,4 +83,4 @@ Voilà, vous pouvez maintenant utilisez librement l'API ! Notre API est versionnée ce qui signifie qu'à chaque requête, la version souhaitée de l'API doit être fournie. Pour l'instant, il n'y a qu'une __version 1.0__. ---- \ No newline at end of file +--- \ No newline at end of file From 1d22432e0c348435aaeb9a4fa11d7fb8e5289d39 Mon Sep 17 00:00:00 2001 From: Nestisse Date: Sat, 16 Mar 2024 09:10:55 +0100 Subject: [PATCH 43/50] =?UTF-8?q?code=20smells=20supprim=C3=A9=20car=20non?= =?UTF-8?q?=20respect=20des=20conventions=20de=20nommage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Controllers/InquiriesController.cs | 20 +++--- .../API/Controllers/LessonsController.cs | 20 +++--- .../API/Controllers/ParagraphsController.cs | 20 +++--- .../API/Controllers/SuccessesController.cs | 20 +++--- API_SQLuedo/API/Controllers/UserController.cs | 18 ++--- API_SQLuedo/API/Program.cs | 10 +-- .../API/Service/InquiryDataServiceAPI.cs | 12 ++-- .../API/Service/LessonDataServiceAPI.cs | 14 ++-- .../API/Service/ParagraphDataServiceAPI.cs | 12 ++-- .../API/Service/SuccessDataServiceAPI.cs | 12 ++-- API_SQLuedo/API/Service/UserDataServiceAPI.cs | 12 ++-- API_SQLuedo/DbContextLib/UserDbContext.cs | 12 ++-- API_SQLuedo/Dto/BlackListDTO.cs | 8 +-- API_SQLuedo/Dto/ContentLessonDTO.cs | 16 ++--- API_SQLuedo/Dto/InquiryDTO.cs | 8 +-- API_SQLuedo/Dto/InquiryTableDTO.cs | 6 +- API_SQLuedo/Dto/LessonDTO.cs | 10 +-- API_SQLuedo/Dto/NotepadDTO.cs | 8 +-- API_SQLuedo/Dto/ParagraphDTO.cs | 8 +-- API_SQLuedo/Dto/SolutionDTO.cs | 8 +-- API_SQLuedo/Dto/SuccessDTO.cs | 6 +- API_SQLuedo/Dto/UserDTO.cs | 8 +-- API_SQLuedo/Shared/Mapper/BlackListMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/InquiryMapper.cs | 12 ++-- .../Shared/Mapper/InquiryTableMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/LessonMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/NotepadMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/ParagraphMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/SolutionMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/SuccessMapper.cs | 12 ++-- API_SQLuedo/Shared/Mapper/UserMapper.cs | 12 ++-- .../StubbedContextLib/StubbedContext.cs | 16 ++--- API_SQLuedo/TestConsoleAPI/Program.cs | 66 +++++++++---------- 33 files changed, 229 insertions(+), 229 deletions(-) diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index d35db6d..14ad6fc 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -13,18 +13,18 @@ namespace API.Controllers [ApiController] public class InquiriesController : Controller { - private readonly IInquiryService _inquiryDataService; + private readonly IInquiryService _inquiryDataService; private readonly ILogger _logger; - public InquiriesController(IInquiryService inquiryDataService, ILogger logger) + public InquiriesController(IInquiryService inquiryDataService, ILogger logger) { _inquiryDataService = inquiryDataService; _logger = logger; } [HttpGet("inquiries/{page:int}/{number:int}/{orderCriteria}")] - [ProducesResponseType(typeof(InquiryDTO), 200)] + [ProducesResponseType(typeof(InquiryDto), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) { @@ -40,7 +40,7 @@ namespace API.Controllers } [HttpGet("inquiry/{id:int}")] - [ProducesResponseType(typeof(InquiryDTO), 200)] + [ProducesResponseType(typeof(InquiryDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetInquiryById(int id) { @@ -57,7 +57,7 @@ namespace API.Controllers } [HttpGet("inquiry/{title:alpha}")] - [ProducesResponseType(typeof(InquiryDTO), 200)] + [ProducesResponseType(typeof(InquiryDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetInquiryByTitle(string title) { @@ -74,7 +74,7 @@ namespace API.Controllers } [HttpDelete("inquiry/{id:int}")] - [ProducesResponseType(typeof(InquiryDTO), 200)] + [ProducesResponseType(typeof(InquiryDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteInquiry(int id) { @@ -92,9 +92,9 @@ namespace API.Controllers } [HttpPost] - [ProducesResponseType(typeof(InquiryDTO), 201)] + [ProducesResponseType(typeof(InquiryDto), 201)] [ProducesResponseType(typeof(string), 400)] - public IActionResult CreateInquiry([FromBody] InquiryDTO dto) + public IActionResult CreateInquiry([FromBody] InquiryDto dto) { if (dto.Title == null || dto.Description == null) { @@ -109,10 +109,10 @@ namespace API.Controllers } [HttpPut("inquiry/{id:int}")] - [ProducesResponseType(typeof(InquiryDTO), 200)] + [ProducesResponseType(typeof(InquiryDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateInquiry(int id, [FromBody] InquiryDTO inquiryDTO) + public IActionResult UpdateInquiry(int id, [FromBody] InquiryDto inquiryDTO) { if (id != inquiryDTO.Id) { diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index dfbbd14..827db2f 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -13,18 +13,18 @@ namespace API.Controllers [ApiController] public class LessonsController : Controller { - private readonly ILessonService _lessonDataService; + private readonly ILessonService _lessonDataService; private readonly ILogger _logger; - public LessonsController(ILessonService lessonDataService, ILogger logger) + public LessonsController(ILessonService lessonDataService, ILogger logger) { _lessonDataService = lessonDataService; _logger = logger; } [HttpGet("lessons/{page:int}/{number:int}/{orderCriteria}")] - [ProducesResponseType(typeof(LessonDTO), 200)] + [ProducesResponseType(typeof(LessonDto), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetLessons(int page, int number, LessonOrderCriteria orderCriteria) { @@ -40,7 +40,7 @@ namespace API.Controllers } [HttpGet("lesson/{id:int}")] - [ProducesResponseType(typeof(LessonDTO), 200)] + [ProducesResponseType(typeof(LessonDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetLessonById(int id) { @@ -57,7 +57,7 @@ namespace API.Controllers } [HttpGet("lesson/{title:alpha}")] - [ProducesResponseType(typeof(LessonDTO), 200)] + [ProducesResponseType(typeof(LessonDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetLessonByTitle(string title) { @@ -74,7 +74,7 @@ namespace API.Controllers } [HttpDelete("lesson/{id:int}")] - [ProducesResponseType(typeof(LessonDTO), 200)] + [ProducesResponseType(typeof(LessonDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteLesson(int id) { @@ -92,9 +92,9 @@ namespace API.Controllers } [HttpPost] - [ProducesResponseType(typeof(LessonDTO), 201)] + [ProducesResponseType(typeof(LessonDto), 201)] [ProducesResponseType(typeof(string), 400)] - public IActionResult CreateLesson([FromBody] LessonDTO dto) + public IActionResult CreateLesson([FromBody] LessonDto dto) { if (dto.Title == null || dto.LastPublisher == null) { @@ -109,10 +109,10 @@ namespace API.Controllers } [HttpPut("lesson/{id:int}")] - [ProducesResponseType(typeof(LessonDTO), 200)] + [ProducesResponseType(typeof(LessonDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateLesson(int id, [FromBody] LessonDTO lessonDTO) + public IActionResult UpdateLesson(int id, [FromBody] LessonDto lessonDTO) { if (id != lessonDTO.Id) { diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index c6d64a5..5d934cc 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -13,11 +13,11 @@ namespace API.Controllers [ApiController] public class ParagraphsController : Controller { - private readonly IParagraphService _paragraphDataService; + private readonly IParagraphService _paragraphDataService; private readonly ILogger _logger; - public ParagraphsController(IParagraphService paragraphDataService, + public ParagraphsController(IParagraphService paragraphDataService, ILogger logger) { _paragraphDataService = paragraphDataService; @@ -25,7 +25,7 @@ namespace API.Controllers } [HttpGet("paragraphs/{page:int}/{number:int}/{orderCriteria}")] - [ProducesResponseType(typeof(ParagraphDTO), 200)] + [ProducesResponseType(typeof(ParagraphDto), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) { @@ -41,7 +41,7 @@ namespace API.Controllers } [HttpGet("paragraph/{id:int}")] - [ProducesResponseType(typeof(ParagraphDTO), 200)] + [ProducesResponseType(typeof(ParagraphDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetParagraphById(int id) { @@ -58,7 +58,7 @@ namespace API.Controllers } [HttpGet("paragraph/{title:alpha}")] - [ProducesResponseType(typeof(ParagraphDTO), 200)] + [ProducesResponseType(typeof(ParagraphDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetParagraphByTitle(string title) { @@ -75,7 +75,7 @@ namespace API.Controllers } [HttpDelete("paragraph/{id:int}")] - [ProducesResponseType(typeof(ParagraphDTO), 200)] + [ProducesResponseType(typeof(ParagraphDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteParagraph(int id) { @@ -93,9 +93,9 @@ namespace API.Controllers } [HttpPost] - [ProducesResponseType(typeof(ParagraphDTO), 201)] + [ProducesResponseType(typeof(ParagraphDto), 201)] [ProducesResponseType(typeof(string), 400)] - public IActionResult CreateParagraph([FromBody] ParagraphDTO dto) + public IActionResult CreateParagraph([FromBody] ParagraphDto dto) { if (dto.Title == null || dto.Content == null || dto.Info == null || dto.Query == null || dto.Comment == null) @@ -112,10 +112,10 @@ namespace API.Controllers } [HttpPut("paragraph/{id:int}")] - [ProducesResponseType(typeof(ParagraphDTO), 200)] + [ProducesResponseType(typeof(ParagraphDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateParagraph(int id, [FromBody] ParagraphDTO paragraphDTO) + public IActionResult UpdateParagraph(int id, [FromBody] ParagraphDto paragraphDTO) { if (id != paragraphDTO.Id) { diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index 0a48938..25c6371 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -13,18 +13,18 @@ namespace API.Controllers [ApiController] public class SuccessesController : Controller { - private readonly ISuccessService _successDataService; + private readonly ISuccessService _successDataService; private readonly ILogger _logger; - public SuccessesController(ISuccessService successDataService, ILogger logger) + public SuccessesController(ISuccessService successDataService, ILogger logger) { _successDataService = successDataService; _logger = logger; } [HttpGet("successes/{page:int}/{number:int}/{orderCriteria}")] - [ProducesResponseType(typeof(SuccessDTO), 200)] + [ProducesResponseType(typeof(SuccessDto), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) { @@ -40,7 +40,7 @@ namespace API.Controllers } [HttpGet("success/user/{id:int}")] - [ProducesResponseType(typeof(SuccessDTO), 200)] + [ProducesResponseType(typeof(SuccessDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetSuccessByUserId(int id) { @@ -57,7 +57,7 @@ namespace API.Controllers } [HttpGet("success/inquiry/{id:int}")] - [ProducesResponseType(typeof(SuccessDTO), 200)] + [ProducesResponseType(typeof(SuccessDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetSuccessByInquiryId(int id) { @@ -75,7 +75,7 @@ namespace API.Controllers } [HttpDelete("success/{idUser:int}/{idInquiry:int}")] - [ProducesResponseType(typeof(SuccessDTO), 200)] + [ProducesResponseType(typeof(SuccessDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteSuccess(int idUser, int idInquiry) { @@ -93,9 +93,9 @@ namespace API.Controllers } [HttpPost] - [ProducesResponseType(typeof(SuccessDTO), 201)] + [ProducesResponseType(typeof(SuccessDto), 201)] [ProducesResponseType(typeof(string), 400)] - public IActionResult CreateSuccess([FromBody] SuccessDTO dto) + public IActionResult CreateSuccess([FromBody] SuccessDto dto) { /*if (dto.UserId == null || dto.InquiryId == null) { @@ -109,10 +109,10 @@ namespace API.Controllers } [HttpPut("success/{idUser:int}/{idInquiry:int}")] - [ProducesResponseType(typeof(SuccessDTO), 200)] + [ProducesResponseType(typeof(SuccessDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateSuccess(int idUser, int idInquiry, [FromBody] SuccessDTO successDTO) + public IActionResult UpdateSuccess(int idUser, int idInquiry, [FromBody] SuccessDto successDTO) { if (idUser != successDTO.UserId || idInquiry != successDTO.InquiryId) { diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 63fe068..6a9bc67 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -11,10 +11,10 @@ namespace API.Controllers [Authorize] [ApiVersion("1.0")] [ApiController] - public class UsersController(ILogger logger, IUserService userService) : ControllerBase + public class UsersController(ILogger logger, IUserService userService) : ControllerBase { [HttpGet("users/{page:int}/{number:int}")] - [ProducesResponseType(typeof(UserDTO), 200)] + [ProducesResponseType(typeof(UserDto), 200)] [ProducesResponseType(typeof(string), 204)] public IActionResult GetUsers(int page, int number, UserOrderCriteria orderCriteria) { @@ -30,7 +30,7 @@ namespace API.Controllers } [HttpGet("user/{id:int}")] - [ProducesResponseType(typeof(UserDTO), 200)] + [ProducesResponseType(typeof(UserDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetUserById(int id) { @@ -47,7 +47,7 @@ namespace API.Controllers } [HttpGet("user/{username:alpha}")] - [ProducesResponseType(typeof(UserDTO), 200)] + [ProducesResponseType(typeof(UserDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult GetUserByUsername(string username) { @@ -64,7 +64,7 @@ namespace API.Controllers } [HttpDelete("user/{id:int}")] - [ProducesResponseType(typeof(UserDTO), 200)] + [ProducesResponseType(typeof(UserDto), 200)] [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteUser(int id) { @@ -82,9 +82,9 @@ namespace API.Controllers } [HttpPost] - [ProducesResponseType(typeof(UserDTO), 201)] + [ProducesResponseType(typeof(UserDto), 201)] [ProducesResponseType(typeof(string), 400)] - public IActionResult CreateUser([FromBody] UserDTO dto) + public IActionResult CreateUser([FromBody] UserDto dto) { if (dto.Username == null || dto.Password == null || dto.Email == null) { @@ -100,10 +100,10 @@ namespace API.Controllers } [HttpPut("user/{id:int}")] - [ProducesResponseType(typeof(UserDTO), 200)] + [ProducesResponseType(typeof(UserDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateUser(int id, [FromBody] UserDTO userDto) + public IActionResult UpdateUser(int id, [FromBody] UserDto userDto) { if (id != userDto.Id) { diff --git a/API_SQLuedo/API/Program.cs b/API_SQLuedo/API/Program.cs index a2ef3df..8f6c77d 100644 --- a/API_SQLuedo/API/Program.cs +++ b/API_SQLuedo/API/Program.cs @@ -20,19 +20,19 @@ builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddScoped, UserDataService>(); -builder.Services.AddScoped, UserDataServiceApi>(); +builder.Services.AddScoped, UserDataServiceApi>(); builder.Services.AddScoped, InquiryDataService>(); -builder.Services.AddScoped, InquiryDataServiceApi>(); +builder.Services.AddScoped, InquiryDataServiceApi>(); builder.Services.AddScoped, ParagraphDataService>(); -builder.Services.AddScoped, ParagraphDataServiceApi>(); +builder.Services.AddScoped, ParagraphDataServiceApi>(); builder.Services.AddScoped, SuccessDataService>(); -builder.Services.AddScoped, SuccessDataServiceApi>(); +builder.Services.AddScoped, SuccessDataServiceApi>(); builder.Services.AddScoped, LessonDataService>(); -builder.Services.AddScoped, LessonDataServiceApi>(); +builder.Services.AddScoped, LessonDataServiceApi>(); builder.Services.AddDbContext(); builder.Services.AddDbContext(options => options.UseInMemoryDatabase("appDb")); diff --git a/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs b/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs index eb69a91..3bc935b 100644 --- a/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/InquiryDataServiceAPI.cs @@ -6,14 +6,14 @@ using Shared.Mapper; namespace API.Service; -public class InquiryDataServiceApi(IInquiryService inquiryService) : IInquiryService +public class InquiryDataServiceApi(IInquiryService inquiryService) : IInquiryService { - public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry) + public InquiryDto UpdateInquiry(int id, InquiryDto inquiry) { return inquiryService.UpdateInquiry(id, inquiry.FromDTOToEntity()).FromEntityToDTO(); } - public InquiryDTO CreateInquiry(string title, string description, bool isUser) + public InquiryDto CreateInquiry(string title, string description, bool isUser) { return inquiryService.CreateInquiry(title, description, isUser).FromEntityToDTO(); } @@ -23,13 +23,13 @@ public class InquiryDataServiceApi(IInquiryService inquiryService return inquiryService.DeleteInquiry(id); } - public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) + public IEnumerable GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) { var inquiries = inquiryService.GetInquiries(page, number, orderCriteria); return inquiries.Select(i => i.FromEntityToDTO()).ToList(); } - public InquiryDTO GetInquiryById(int id) => inquiryService.GetInquiryById(id).FromEntityToDTO(); + public InquiryDto GetInquiryById(int id) => inquiryService.GetInquiryById(id).FromEntityToDTO(); - public InquiryDTO GetInquiryByTitle(string title) => inquiryService.GetInquiryByTitle(title).FromEntityToDTO(); + public InquiryDto GetInquiryByTitle(string title) => inquiryService.GetInquiryByTitle(title).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/API/Service/LessonDataServiceAPI.cs b/API_SQLuedo/API/Service/LessonDataServiceAPI.cs index 391d081..e4fa615 100644 --- a/API_SQLuedo/API/Service/LessonDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/LessonDataServiceAPI.cs @@ -6,26 +6,26 @@ using Shared.Mapper; namespace API.Service; -public class LessonDataServiceApi(ILessonService lessonService) : ILessonService +public class LessonDataServiceApi(ILessonService lessonService) : ILessonService { - public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) + public IEnumerable GetLessons(int page, int number, LessonOrderCriteria orderCriteria) { var lessonsEntities = lessonService.GetLessons(page, number, orderCriteria); return lessonsEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public LessonDTO GetLessonById(int id) => lessonService.GetLessonById(id).FromEntityToDTO(); + public LessonDto GetLessonById(int id) => lessonService.GetLessonById(id).FromEntityToDTO(); - public LessonDTO GetLessonByTitle(string title) => lessonService.GetLessonByTitle(title).FromEntityToDTO(); + public LessonDto GetLessonByTitle(string title) => lessonService.GetLessonByTitle(title).FromEntityToDTO(); public bool DeleteLesson(int id) => lessonService.DeleteLesson(id); - public LessonDTO UpdateLesson(int id, LessonDTO lesson) => + public LessonDto UpdateLesson(int id, LessonDto lesson) => lessonService.UpdateLesson(id, lesson.FromDTOToEntity()).FromEntityToDTO(); - public LessonDTO UpdateLesson(int id, LessonEntity lesson) => + public LessonDto UpdateLesson(int id, LessonEntity lesson) => lessonService.UpdateLesson(id, lesson).FromEntityToDTO(); - public LessonDTO CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) => + public LessonDto CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) => lessonService.CreateLesson(title, lastPublisher, lastEdit).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs b/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs index 3892c65..f51d68e 100644 --- a/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/ParagraphDataServiceAPI.cs @@ -7,25 +7,25 @@ using Shared.Mapper; namespace API.Service; public class ParagraphDataServiceApi(IParagraphService paragraphService) - : IParagraphService + : IParagraphService { - public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) + public IEnumerable GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) { var paragraphsEntities = paragraphService.GetParagraphs(page, number, orderCriteria); return paragraphsEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public ParagraphDTO GetParagraphById(int id) => paragraphService.GetParagraphById(id).FromEntityToDTO(); + public ParagraphDto GetParagraphById(int id) => paragraphService.GetParagraphById(id).FromEntityToDTO(); - public ParagraphDTO GetParagraphByTitle(string title) => + public ParagraphDto GetParagraphByTitle(string title) => paragraphService.GetParagraphByTitle(title).FromEntityToDTO(); public bool DeleteParagraph(int id) => paragraphService.DeleteParagraph(id); - public ParagraphDTO UpdateParagraph(int id, ParagraphDTO paragraph) => + public ParagraphDto UpdateParagraph(int id, ParagraphDto paragraph) => paragraphService.UpdateParagraph(id, paragraph.FromDTOToEntity()).FromEntityToDTO(); - public ParagraphDTO CreateParagraph(string title, string content, string info, string query, string comment, + public ParagraphDto CreateParagraph(string title, string content, string info, string query, string comment, int lessonId) => paragraphService.CreateParagraph(title, content, info, query, comment, lessonId).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs b/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs index 047203d..a467bc5 100644 --- a/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/SuccessDataServiceAPI.cs @@ -6,23 +6,23 @@ using Shared.Mapper; namespace API.Service; -public class SuccessDataServiceApi(ISuccessService sucessService) : ISuccessService +public class SuccessDataServiceApi(ISuccessService sucessService) : ISuccessService { - public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) + public IEnumerable GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) { var successesEntities = sucessService.GetSuccesses(page, number, orderCriteria); return successesEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public IEnumerable GetSuccessesByUserId(int id) => sucessService.GetSuccessesByUserId(id).Select(s => s.FromEntityToDTO()); + public IEnumerable GetSuccessesByUserId(int id) => sucessService.GetSuccessesByUserId(id).Select(s => s.FromEntityToDTO()); - public IEnumerable GetSuccessesByInquiryId(int id) => sucessService.GetSuccessesByInquiryId(id).Select(s => s.FromEntityToDTO()); + public IEnumerable GetSuccessesByInquiryId(int id) => sucessService.GetSuccessesByInquiryId(id).Select(s => s.FromEntityToDTO()); public bool DeleteSuccess(int idUser, int idInquiry) => sucessService.DeleteSuccess(idUser, idInquiry); - public SuccessDTO UpdateSuccess(int idUser, int idInquiry, SuccessDTO success) => + public SuccessDto UpdateSuccess(int idUser, int idInquiry, SuccessDto success) => sucessService.UpdateSuccess(idUser, idInquiry, success.FromDTOToEntity()).FromEntityToDTO(); - public SuccessDTO CreateSuccess(int userId, int inquiryId, bool isFinished) => + public SuccessDto CreateSuccess(int userId, int inquiryId, bool isFinished) => sucessService.CreateSuccess(userId, inquiryId, isFinished).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/API/Service/UserDataServiceAPI.cs b/API_SQLuedo/API/Service/UserDataServiceAPI.cs index 482a679..04a58c4 100644 --- a/API_SQLuedo/API/Service/UserDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/UserDataServiceAPI.cs @@ -6,23 +6,23 @@ using Shared.Mapper; namespace API.Service; -public class UserDataServiceApi(IUserService userService) : IUserService +public class UserDataServiceApi(IUserService userService) : IUserService { - public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria) + public IEnumerable GetUsers(int page, int number, UserOrderCriteria orderCriteria) { var usersEntities = userService.GetUsers(page, number, orderCriteria); return usersEntities.Select(e => e.FromEntityToDTO()).ToList(); } - public UserDTO GetUserById(int id) => userService.GetUserById(id).FromEntityToDTO(); + public UserDto GetUserById(int id) => userService.GetUserById(id).FromEntityToDTO(); - public UserDTO GetUserByUsername(string username) => userService.GetUserByUsername(username).FromEntityToDTO(); + public UserDto GetUserByUsername(string username) => userService.GetUserByUsername(username).FromEntityToDTO(); public bool DeleteUser(int id) => userService.DeleteUser(id); - public UserDTO UpdateUser(int id, UserDTO user) => + public UserDto UpdateUser(int id, UserDto user) => userService.UpdateUser(id, user.FromDTOToEntity()).FromEntityToDTO(); - public UserDTO CreateUser(string username, string password, string email, bool isAdmin) => + public UserDto CreateUser(string username, string password, string email, bool isAdmin) => userService.CreateUser(username, password, email, isAdmin).FromEntityToDTO(); } \ No newline at end of file diff --git a/API_SQLuedo/DbContextLib/UserDbContext.cs b/API_SQLuedo/DbContextLib/UserDbContext.cs index 2334377..b4de5c2 100644 --- a/API_SQLuedo/DbContextLib/UserDbContext.cs +++ b/API_SQLuedo/DbContextLib/UserDbContext.cs @@ -31,15 +31,15 @@ namespace DbContextLib base.OnConfiguring(optionsBuilder); } - protected override void OnModelCreating(ModelBuilder modelBuilder) + protected override void OnModelCreating(ModelBuilder builder) { // Permet d'avoir les champs de la classe mère dans les classes filles et de ne pas avoir de table pour la classe mère - modelBuilder.Entity().UseTpcMappingStrategy(); + builder.Entity().UseTpcMappingStrategy(); - modelBuilder.Entity().HasKey(s => s.UserId); - modelBuilder.Entity().HasKey(s => s.InquiryId); - modelBuilder.Entity().HasKey(s => s.Id); - base.OnModelCreating(modelBuilder); + builder.Entity().HasKey(s => s.UserId); + builder.Entity().HasKey(s => s.InquiryId); + builder.Entity().HasKey(s => s.Id); + base.OnModelCreating(builder); } } } \ No newline at end of file diff --git a/API_SQLuedo/Dto/BlackListDTO.cs b/API_SQLuedo/Dto/BlackListDTO.cs index a8a5a63..99951c0 100644 --- a/API_SQLuedo/Dto/BlackListDTO.cs +++ b/API_SQLuedo/Dto/BlackListDTO.cs @@ -1,12 +1,12 @@ namespace Dto; -public class BlackListDTO +public class BlackListDto { - public string Email { get; set; } + public string? Email { get; set; } public DateOnly ExpirationDate { get; set; } - public BlackListDTO() {} - public BlackListDTO(string email, DateOnly expirationDate) + public BlackListDto() {} + public BlackListDto(string email, DateOnly expirationDate) { Email = email; ExpirationDate = expirationDate; diff --git a/API_SQLuedo/Dto/ContentLessonDTO.cs b/API_SQLuedo/Dto/ContentLessonDTO.cs index 357d634..98a9faf 100644 --- a/API_SQLuedo/Dto/ContentLessonDTO.cs +++ b/API_SQLuedo/Dto/ContentLessonDTO.cs @@ -1,13 +1,13 @@ namespace Dto; -public abstract class ContentLessonDTO +public abstract class ContentLessonDto { public int Id { get; set; } public string ContentContent { get; set; } public string ContentTitle { get; set; } public int LessonId { get; set; } - protected ContentLessonDTO(int id, string contentContent, string contentTitle, int lessonId) + protected ContentLessonDto(int id, string contentContent, string contentTitle, int lessonId) { Id = id; ContentContent = contentContent; @@ -15,14 +15,14 @@ public abstract class ContentLessonDTO LessonId = lessonId; } - protected ContentLessonDTO(string contentContent, string contentTitle, int lessonId) + protected ContentLessonDto(string contentContent, string contentTitle, int lessonId) { ContentContent = contentContent; ContentTitle = contentTitle; LessonId = lessonId; - } - - protected ContentLessonDTO() - { - } + } + + protected ContentLessonDto() + { + } } \ No newline at end of file diff --git a/API_SQLuedo/Dto/InquiryDTO.cs b/API_SQLuedo/Dto/InquiryDTO.cs index e747231..8aa3c6b 100644 --- a/API_SQLuedo/Dto/InquiryDTO.cs +++ b/API_SQLuedo/Dto/InquiryDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class InquiryDTO +public class InquiryDto { public int Id { get; } @@ -10,8 +10,8 @@ public class InquiryDTO public bool IsUser { get; set; } - public InquiryDTO(){} - public InquiryDTO(int id, string title, string description, bool isUser) + public InquiryDto(){} + public InquiryDto(int id, string title, string description, bool isUser) { Id = id; Title = title; @@ -19,7 +19,7 @@ public class InquiryDTO IsUser = isUser; } - public InquiryDTO(string title, string description, bool isUser) + public InquiryDto(string title, string description, bool isUser) { Title = title; Description = description; diff --git a/API_SQLuedo/Dto/InquiryTableDTO.cs b/API_SQLuedo/Dto/InquiryTableDTO.cs index 6c28790..730b933 100644 --- a/API_SQLuedo/Dto/InquiryTableDTO.cs +++ b/API_SQLuedo/Dto/InquiryTableDTO.cs @@ -1,16 +1,16 @@ namespace Dto; -public class InquiryTableDTO +public class InquiryTableDto { public int OwnerId { get; set; } public string DatabaseName { get; set; } public string ConnectionInfo { get; set; } - public InquiryTableDTO() + public InquiryTableDto() { } - public InquiryTableDTO(int ownerId, string databaseName, string connectionInfo) + public InquiryTableDto(int ownerId, string databaseName, string connectionInfo) { OwnerId = ownerId; DatabaseName = databaseName; diff --git a/API_SQLuedo/Dto/LessonDTO.cs b/API_SQLuedo/Dto/LessonDTO.cs index ab8008f..db96681 100644 --- a/API_SQLuedo/Dto/LessonDTO.cs +++ b/API_SQLuedo/Dto/LessonDTO.cs @@ -1,18 +1,18 @@ namespace Dto; -public class LessonDTO +public class LessonDto { public int Id { get; } public string? Title { get; set; } public string? LastPublisher { get; set; } public DateOnly? LastEdit { get; set; } - public ICollection Content { get; set; } = new List(); + public ICollection Content { get; set; } = new List(); - public LessonDTO() + public LessonDto() { } - public LessonDTO(int id, string title, string lastPublisher, DateOnly? lastEdit) + public LessonDto(int id, string title, string lastPublisher, DateOnly? lastEdit) { Id = id; Title = title; @@ -20,7 +20,7 @@ public class LessonDTO LastEdit = lastEdit; } - public LessonDTO(string title, string lastPublisher, DateOnly? lastEdit) + public LessonDto(string title, string lastPublisher, DateOnly? lastEdit) { Title = title; LastPublisher = lastPublisher; diff --git a/API_SQLuedo/Dto/NotepadDTO.cs b/API_SQLuedo/Dto/NotepadDTO.cs index 0c14762..1b143b1 100644 --- a/API_SQLuedo/Dto/NotepadDTO.cs +++ b/API_SQLuedo/Dto/NotepadDTO.cs @@ -1,17 +1,17 @@ namespace Dto; -public class NotepadDTO +public class NotepadDto { public int Id { get; set; } public int UserId { get; set; } public int InquiryId { get; set; } public string Notes { get; set; } - public NotepadDTO() + public NotepadDto() { } - public NotepadDTO(int id, int userId, int inquiryId, string notes) + public NotepadDto(int id, int userId, int inquiryId, string notes) { Id = id; UserId = userId; @@ -19,7 +19,7 @@ public class NotepadDTO Notes = notes; } - public NotepadDTO(int userId, int inquiryId, string notes) + public NotepadDto(int userId, int inquiryId, string notes) { UserId = userId; InquiryId = inquiryId; diff --git a/API_SQLuedo/Dto/ParagraphDTO.cs b/API_SQLuedo/Dto/ParagraphDTO.cs index 9e08d8f..2c7c560 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 { public string Title { get; set; } public string Content { get; set; } @@ -8,7 +8,7 @@ public class ParagraphDTO : ContentLessonDTO public string Query { get; set; } public string Comment { get; set; } - public ParagraphDTO(string title, string content, string info, string query, string comment, int lessonId) : + public ParagraphDto(string title, string content, string info, string query, string comment, int lessonId) : base(content, title, lessonId) { @@ -19,7 +19,7 @@ public class ParagraphDTO : ContentLessonDTO Comment = comment; } - public ParagraphDTO(int id, string title, string content, string info, string query, string comment, int lessonId) : + public ParagraphDto(int id, string title, string content, string info, string query, string comment, int lessonId) : base(id, content, title, lessonId) { @@ -31,7 +31,7 @@ public class ParagraphDTO : ContentLessonDTO Comment = comment; } - public ParagraphDTO() : base() + public ParagraphDto() : base() { } } \ No newline at end of file diff --git a/API_SQLuedo/Dto/SolutionDTO.cs b/API_SQLuedo/Dto/SolutionDTO.cs index e5087c2..951a0e7 100644 --- a/API_SQLuedo/Dto/SolutionDTO.cs +++ b/API_SQLuedo/Dto/SolutionDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class SolutionDTO +public class SolutionDto { public int OwnerId { get; set; } public string MurdererFirstName { get; set; } @@ -9,11 +9,11 @@ public class SolutionDTO public string MurderWeapon { get; set; } public string Explanation { get; set; } - public SolutionDTO() + public SolutionDto() { } - public SolutionDTO(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, + public SolutionDto(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) { OwnerId = ownerId; @@ -24,7 +24,7 @@ public class SolutionDTO Explanation = explanation; } - public SolutionDTO(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, + public SolutionDto(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation) { MurdererFirstName = murdererFirstName; diff --git a/API_SQLuedo/Dto/SuccessDTO.cs b/API_SQLuedo/Dto/SuccessDTO.cs index 579f209..21efd54 100644 --- a/API_SQLuedo/Dto/SuccessDTO.cs +++ b/API_SQLuedo/Dto/SuccessDTO.cs @@ -1,16 +1,16 @@ namespace Dto; -public class SuccessDTO +public class SuccessDto { public int UserId { get; set; } public int InquiryId { get; set; } public bool IsFinished { get; set; } - public SuccessDTO() + public SuccessDto() { } - public SuccessDTO(int userId, int inquiryId, bool isFinished) + public SuccessDto(int userId, int inquiryId, bool isFinished) { UserId = userId; InquiryId = inquiryId; diff --git a/API_SQLuedo/Dto/UserDTO.cs b/API_SQLuedo/Dto/UserDTO.cs index 85d6ac7..43b0cfc 100644 --- a/API_SQLuedo/Dto/UserDTO.cs +++ b/API_SQLuedo/Dto/UserDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class UserDTO +public class UserDto { public int Id { get; set; } public string Username { get; set; } @@ -8,11 +8,11 @@ public class UserDTO public string Email { get; set; } public bool IsAdmin { get; set; } - public UserDTO() + public UserDto() { } - public UserDTO(int id, string username, string password, string email, bool isAdmin) + public UserDto(int id, string username, string password, string email, bool isAdmin) { Id = id; Username = username; @@ -21,7 +21,7 @@ public class UserDTO IsAdmin = isAdmin; } - public UserDTO(string username, string password, string email, bool isAdmin) + public UserDto(string username, string password, string email, bool isAdmin) { Username = username; Password = password; diff --git a/API_SQLuedo/Shared/Mapper/BlackListMapper.cs b/API_SQLuedo/Shared/Mapper/BlackListMapper.cs index 77427c4..a3187a3 100644 --- a/API_SQLuedo/Shared/Mapper/BlackListMapper.cs +++ b/API_SQLuedo/Shared/Mapper/BlackListMapper.cs @@ -6,17 +6,17 @@ namespace Shared.Mapper; public static class BlackListMapper { - public static BlackListDTO FromModelToDTO(this BlackList model) + public static BlackListDto FromModelToDTO(this BlackList model) { - return new BlackListDTO(model.Email, model.ExpirationDate); + return new BlackListDto(model.Email, model.ExpirationDate); } - public static BlackListDTO FromEntityToDTO(this BlackListEntity ent) + public static BlackListDto FromEntityToDTO(this BlackListEntity ent) { - return new BlackListDTO(ent.Email, ent.ExpirationDate); + return new BlackListDto(ent.Email, ent.ExpirationDate); } - public static BlackList FromDTOToModel(this BlackListDTO dto) + public static BlackList FromDTOToModel(this BlackListDto dto) { return new BlackList(dto.Email, dto.ExpirationDate); } @@ -26,7 +26,7 @@ public static class BlackListMapper return new BlackList(ent.Email, ent.ExpirationDate); } - public static BlackListEntity FromDTOToEntity(this BlackListDTO dto) + public static BlackListEntity FromDTOToEntity(this BlackListDto dto) { return new BlackListEntity(dto.Email, dto.ExpirationDate); } diff --git a/API_SQLuedo/Shared/Mapper/InquiryMapper.cs b/API_SQLuedo/Shared/Mapper/InquiryMapper.cs index 90f1f15..af57277 100644 --- a/API_SQLuedo/Shared/Mapper/InquiryMapper.cs +++ b/API_SQLuedo/Shared/Mapper/InquiryMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class InquiryMapper { - public static Inquiry FromDTOToModel(this InquiryDTO inqDto) + public static Inquiry FromDTOToModel(this InquiryDto inqDto) { return new Inquiry(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser); } @@ -22,18 +22,18 @@ public static class InquiryMapper return new InquiryEntity(inq.Id, inq.Title, inq.Description, inq.IsUser); } - public static InquiryEntity FromDTOToEntity(this InquiryDTO inqDto) + public static InquiryEntity FromDTOToEntity(this InquiryDto inqDto) { return new InquiryEntity(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser); } - public static InquiryDTO FromModelToDTO(this Inquiry inq) + public static InquiryDto FromModelToDTO(this Inquiry inq) { - return new InquiryDTO(inq.Id, inq.Title, inq.Description, inq.IsUser); + return new InquiryDto(inq.Id, inq.Title, inq.Description, inq.IsUser); } - public static InquiryDTO FromEntityToDTO(this InquiryEntity inqEntity) + public static InquiryDto FromEntityToDTO(this InquiryEntity inqEntity) { - return new InquiryDTO(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser); + return new InquiryDto(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser); } } \ No newline at end of file diff --git a/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs b/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs index 3dc11ca..7469e28 100644 --- a/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs +++ b/API_SQLuedo/Shared/Mapper/InquiryTableMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class InquiryTableMapper { - public static InquiryTable FromDTOToModel(this InquiryTableDTO inqTDto) + public static InquiryTable FromDTOToModel(this InquiryTableDto inqTDto) { return new InquiryTable(inqTDto.OwnerId, inqTDto.ConnectionInfo, inqTDto.DatabaseName); } @@ -16,14 +16,14 @@ public static class InquiryTableMapper return new InquiryTable(inqTEntity.OwnerId, inqTEntity.ConnectionInfo, inqTEntity.DatabaseName); } - public static InquiryTableDTO FromModelToDTO(this InquiryTable inqT) + public static InquiryTableDto FromModelToDTO(this InquiryTable inqT) { - return new InquiryTableDTO(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo); + return new InquiryTableDto(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo); } - public static InquiryTableDTO FromEntityToDTO(this InquiryTableEntity inqTEntity) + public static InquiryTableDto FromEntityToDTO(this InquiryTableEntity inqTEntity) { - return new InquiryTableDTO(inqTEntity.OwnerId, inqTEntity.DatabaseName, inqTEntity.ConnectionInfo); + return new InquiryTableDto(inqTEntity.OwnerId, inqTEntity.DatabaseName, inqTEntity.ConnectionInfo); } public static InquiryTableEntity FromModelToEntity(this InquiryTable inqT) @@ -31,7 +31,7 @@ public static class InquiryTableMapper return new InquiryTableEntity(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo); } - public static InquiryTableEntity FromDTOToEntity(this InquiryTableDTO dto) + public static InquiryTableEntity FromDTOToEntity(this InquiryTableDto dto) { return new InquiryTableEntity(dto.OwnerId, dto.DatabaseName, dto.ConnectionInfo); } diff --git a/API_SQLuedo/Shared/Mapper/LessonMapper.cs b/API_SQLuedo/Shared/Mapper/LessonMapper.cs index 80fdcb7..f218943 100644 --- a/API_SQLuedo/Shared/Mapper/LessonMapper.cs +++ b/API_SQLuedo/Shared/Mapper/LessonMapper.cs @@ -6,14 +6,14 @@ namespace Shared.Mapper; public static class LessonMapper { - public static LessonDTO FromModelToDTO(this Lesson model) + public static LessonDto FromModelToDTO(this Lesson model) { - return new LessonDTO(model.Id, model.Title, model.LastPublisher, model.LastEdit); + return new LessonDto(model.Id, model.Title, model.LastPublisher, model.LastEdit); } - public static LessonDTO FromEntityToDTO(this LessonEntity model) + public static LessonDto FromEntityToDTO(this LessonEntity model) { - return new LessonDTO(model.Id, model.Title, model.LastPublisher, model.LastEdit); + return new LessonDto(model.Id, model.Title, model.LastPublisher, model.LastEdit); } public static LessonEntity FromModelToEntity(this Lesson model) @@ -21,12 +21,12 @@ public static class LessonMapper return new LessonEntity(model.Id, model.Title, model.LastPublisher, model.LastEdit); } - public static LessonEntity FromDTOToEntity(this LessonDTO dto) + public static LessonEntity FromDTOToEntity(this LessonDto dto) { return new LessonEntity(dto.Id, dto.Title, dto.LastPublisher, dto.LastEdit); } - public static Lesson FromDTOToModel(this LessonDTO dto) + public static Lesson FromDTOToModel(this LessonDto dto) { return new Lesson(dto.Id, dto.Title, dto.LastPublisher, dto.LastEdit); } diff --git a/API_SQLuedo/Shared/Mapper/NotepadMapper.cs b/API_SQLuedo/Shared/Mapper/NotepadMapper.cs index 5de18a8..08ffce4 100644 --- a/API_SQLuedo/Shared/Mapper/NotepadMapper.cs +++ b/API_SQLuedo/Shared/Mapper/NotepadMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class NotepadMapper { - public static Notepad FromDTOToModel(this NotepadDTO dto) + public static Notepad FromDTOToModel(this NotepadDto dto) { return new Notepad(dto.Id, dto.UserId, dto.InquiryId, dto.Notes); } @@ -16,17 +16,17 @@ public static class NotepadMapper return new Notepad(ent.Id, ent.UserId, ent.InquiryId, ent.Notes); } - public static NotepadDTO FromModelToDTO(this Notepad not) + public static NotepadDto FromModelToDTO(this Notepad not) { - return new NotepadDTO(not.Id, not.UserId, not.InquiryId, not.Notes); + return new NotepadDto(not.Id, not.UserId, not.InquiryId, not.Notes); } - public static NotepadDTO FromEntityToDTO(this NotepadEntity ent) + public static NotepadDto FromEntityToDTO(this NotepadEntity ent) { - return new NotepadDTO(ent.Id, ent.UserId, ent.InquiryId, ent.Notes); + return new NotepadDto(ent.Id, ent.UserId, ent.InquiryId, ent.Notes); } - public static NotepadEntity FromDTOToEntity(this NotepadDTO dto) + public static NotepadEntity FromDTOToEntity(this NotepadDto dto) { return new NotepadEntity(dto.Id, new UserEntity(dto.UserId), dto.UserId, new InquiryEntity(dto.InquiryId), dto.Notes); diff --git a/API_SQLuedo/Shared/Mapper/ParagraphMapper.cs b/API_SQLuedo/Shared/Mapper/ParagraphMapper.cs index 3d029e5..cb9083b 100644 --- a/API_SQLuedo/Shared/Mapper/ParagraphMapper.cs +++ b/API_SQLuedo/Shared/Mapper/ParagraphMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class ParagraphMapper { - public static Paragraph FromDTOToModel(this ParagraphDTO dto) + public static Paragraph FromDTOToModel(this ParagraphDto dto) { return new Paragraph(dto.ContentTitle, dto.ContentContent, dto.Info, dto.Query, dto.Comment); } @@ -16,19 +16,19 @@ public static class ParagraphMapper return new Paragraph(model.ContentTitle, model.ContentContent, model.Info, model.Query, model.Comment); } - public static ParagraphDTO FromEntityToDTO(this ParagraphEntity model) + public static ParagraphDto FromEntityToDTO(this ParagraphEntity model) { - return new ParagraphDTO(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query, + return new ParagraphDto(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query, model.Comment, model.LessonId); } - public static ParagraphDTO FromModelToDTO(this Paragraph model) + public static ParagraphDto FromModelToDTO(this Paragraph model) { - return new ParagraphDTO(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query, + return new ParagraphDto(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query, model.Comment, model.LessonId); } - public static ParagraphEntity FromDTOToEntity(this ParagraphDTO dto) + public static ParagraphEntity FromDTOToEntity(this ParagraphDto dto) { return new ParagraphEntity(dto.Id, dto.ContentTitle, dto.ContentContent, dto.Info, dto.Query, dto.Comment, dto.LessonId); diff --git a/API_SQLuedo/Shared/Mapper/SolutionMapper.cs b/API_SQLuedo/Shared/Mapper/SolutionMapper.cs index 9f5f49a..3615528 100644 --- a/API_SQLuedo/Shared/Mapper/SolutionMapper.cs +++ b/API_SQLuedo/Shared/Mapper/SolutionMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class SolutionMapper { - public static Solution FromDTOToModel(this SolutionDTO dto) + public static Solution FromDTOToModel(this SolutionDto dto) { return new Solution(dto.OwnerId, dto.MurdererFirstName, dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon, dto.Explanation); @@ -18,15 +18,15 @@ public static class SolutionMapper entity.MurderWeapon, entity.Explaination); } - public static SolutionDTO FromModelToDTO(this Solution model) + public static SolutionDto FromModelToDTO(this Solution model) { - return new SolutionDTO(model.OwnerId, model.MurdererFirstName, model.MurdererLastName, model.MurderPlace, + return new SolutionDto(model.OwnerId, model.MurdererFirstName, model.MurdererLastName, model.MurderPlace, model.MurderWeapon, model.Explanation); } - public static SolutionDTO FromEntityToDTO(this SolutionEntity entity) + public static SolutionDto FromEntityToDTO(this SolutionEntity entity) { - return new SolutionDTO(entity.OwnerId, entity.MurdererFirstName, entity.MurdererLastName, entity.MurderPlace, + return new SolutionDto(entity.OwnerId, entity.MurdererFirstName, entity.MurdererLastName, entity.MurderPlace, entity.MurderWeapon, entity.Explaination); } @@ -36,7 +36,7 @@ public static class SolutionMapper model.MurdererLastName, model.MurderPlace, model.MurderWeapon, model.Explanation); } - public static SolutionEntity FromDTOToEntity(this SolutionDTO dto) + public static SolutionEntity FromDTOToEntity(this SolutionDto dto) { return new SolutionEntity(dto.OwnerId, new InquiryEntity(dto.OwnerId), dto.MurdererFirstName, dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon, dto.Explanation); diff --git a/API_SQLuedo/Shared/Mapper/SuccessMapper.cs b/API_SQLuedo/Shared/Mapper/SuccessMapper.cs index ea5ef02..8a9ebd3 100644 --- a/API_SQLuedo/Shared/Mapper/SuccessMapper.cs +++ b/API_SQLuedo/Shared/Mapper/SuccessMapper.cs @@ -6,7 +6,7 @@ namespace Shared.Mapper; public static class SuccessMapper { - public static Success FromDTOToModel(this SuccessDTO dto) + public static Success FromDTOToModel(this SuccessDto dto) { return new Success(dto.UserId, dto.InquiryId, dto.IsFinished); } @@ -16,17 +16,17 @@ public static class SuccessMapper return new Success(ent.UserId, ent.InquiryId, ent.IsFinished); } - public static SuccessDTO FromModelToDTO(this Success suc) + public static SuccessDto FromModelToDTO(this Success suc) { - return new SuccessDTO(suc.UserId, suc.InquiryId, suc.IsFinished); + return new SuccessDto(suc.UserId, suc.InquiryId, suc.IsFinished); } - public static SuccessDTO FromEntityToDTO(this SuccessEntity ent) + public static SuccessDto FromEntityToDTO(this SuccessEntity ent) { - return new SuccessDTO(ent.UserId, ent.InquiryId, ent.IsFinished); + return new SuccessDto(ent.UserId, ent.InquiryId, ent.IsFinished); } - public static SuccessEntity FromDTOToEntity(this SuccessDTO dto) + public static SuccessEntity FromDTOToEntity(this SuccessDto dto) { return new SuccessEntity(dto.UserId, new UserEntity(dto.UserId), dto.InquiryId, new InquiryEntity(dto.InquiryId), dto.IsFinished); diff --git a/API_SQLuedo/Shared/Mapper/UserMapper.cs b/API_SQLuedo/Shared/Mapper/UserMapper.cs index f915699..813931b 100644 --- a/API_SQLuedo/Shared/Mapper/UserMapper.cs +++ b/API_SQLuedo/Shared/Mapper/UserMapper.cs @@ -6,12 +6,12 @@ namespace Shared.Mapper; public static class UserMapper { - public static User FromDTOToModel(this UserDTO dto) + public static User FromDTOToModel(this UserDto dto) { return new User(dto.Id, dto.Username, dto.Password, dto.Email, dto.IsAdmin); } - public static UserEntity FromDTOToEntity(this UserDTO dto) + public static UserEntity FromDTOToEntity(this UserDto dto) { return new UserEntity(dto.Id, dto.Username, dto.Password, dto.Email, dto.IsAdmin); } @@ -21,14 +21,14 @@ public static class UserMapper return new User(entity.Id, entity.Username, entity.Password, entity.Email, entity.IsAdmin); } - public static UserDTO FromEntityToDTO(this UserEntity entity) + public static UserDto FromEntityToDTO(this UserEntity entity) { - return new UserDTO(entity.Id, entity.Username, entity.Password, entity.Email, entity.IsAdmin); + return new UserDto(entity.Id, entity.Username, entity.Password, entity.Email, entity.IsAdmin); } - public static UserDTO FromModelToDTO(this User user) + public static UserDto FromModelToDTO(this User user) { - return new UserDTO(user.Id, user.Username, user.Password, user.Email, user.IsAdmin); + return new UserDto(user.Id, user.Username, user.Password, user.Email, user.IsAdmin); } public static UserEntity FromModelToEntity(this User user) diff --git a/API_SQLuedo/StubbedContextLib/StubbedContext.cs b/API_SQLuedo/StubbedContextLib/StubbedContext.cs index b5f09fd..818785d 100644 --- a/API_SQLuedo/StubbedContextLib/StubbedContext.cs +++ b/API_SQLuedo/StubbedContextLib/StubbedContext.cs @@ -12,10 +12,10 @@ public class StubbedContext : UserDbContext { } - protected override void OnModelCreating(ModelBuilder modelBuilder) + protected override void OnModelCreating(ModelBuilder builder) { - base.OnModelCreating(modelBuilder); - modelBuilder.Entity().HasData( + base.OnModelCreating(builder); + builder.Entity().HasData( new UserEntity(1, "johnny", Convert.ToBase64String(KeyDerivation.Pbkdf2( password: "motdepasse", salt: RandomNumberGenerator.GetBytes(128 / 8), @@ -47,7 +47,7 @@ public class StubbedContext : UserDbContext iterationCount: 100000, numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); - modelBuilder.Entity().HasData( + builder.Entity().HasData( new InquiryTableEntity(1, "Inquiry1", "Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), new InquiryTableEntity(2, "Inquiry2", @@ -55,18 +55,18 @@ public class StubbedContext : UserDbContext new InquiryTableEntity(3, "Inquiry3", "Server=localhost;Database=Inquiry3;Trusted_Connection=True;MultipleActiveResultSets=true")); - modelBuilder.Entity().HasData( + builder.Entity().HasData( new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"), new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est fou"), new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan")); - modelBuilder.Entity().HasData( + builder.Entity().HasData( new LessonEntity(1, "La cuisine", "Maxime", new DateOnly(2021, 10, 10)), new LessonEntity(2, "La salle de bain", "Erwan", new DateOnly(2021, 10, 10)), new LessonEntity(3, "La chambre", "Johnny", new DateOnly(2021, 10, 10)), new LessonEntity(4, "Le salon", "Clement", new DateOnly(2021, 10, 10))); - modelBuilder.Entity().HasData( + builder.Entity().HasData( new ParagraphEntity(1, "Le premier paragraphe", "Le contenu du premier paragraphe", "Attention", "La query", "Le commentaire", 1), new ParagraphEntity(2, "Le deuxième paragraphe", "Le contenu du deuxième paragraphe", "Attention", @@ -77,7 +77,7 @@ public class StubbedContext : UserDbContext "La query", "Le commentaire", 3), new ParagraphEntity(5, "Le cinquième paragraphe", "Le contenu du quatrième paragraphe", "Attention", "La query", "Le commentaire", 4)); - modelBuilder.Entity().HasData( + builder.Entity().HasData( new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true), new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false), new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false)); diff --git a/API_SQLuedo/TestConsoleAPI/Program.cs b/API_SQLuedo/TestConsoleAPI/Program.cs index 6622ca8..1bea860 100644 --- a/API_SQLuedo/TestConsoleAPI/Program.cs +++ b/API_SQLuedo/TestConsoleAPI/Program.cs @@ -45,7 +45,7 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(); var users = userController.GetUsers(1, 10, UserOrderCriteria.None) as OkObjectResult; - foreach (var item in users.Value as IEnumerable) + foreach (var item in users.Value as IEnumerable) { Console.WriteLine(item); } @@ -55,7 +55,7 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(); var inquiries = inquiryController.GetInquiries(1, 10, InquiryOrderCriteria.None) as OkObjectResult; - foreach (var item in inquiries.Value as IEnumerable) + foreach (var item in inquiries.Value as IEnumerable) { Console.WriteLine(item); } @@ -65,7 +65,7 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(); var paragraphs = paragraphController.GetParagraphs(1, 10, ParagraphOrderCriteria.None) as OkObjectResult; - foreach (var item in paragraphs.Value as IEnumerable) + foreach (var item in paragraphs.Value as IEnumerable) { Console.WriteLine(item); } @@ -75,7 +75,7 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(); var lessons = lessonController.GetLessons(1, 10, LessonOrderCriteria.None) as OkObjectResult; - foreach (var item in lessons.Value as IEnumerable) + foreach (var item in lessons.Value as IEnumerable) { Console.WriteLine(item); } @@ -85,7 +85,7 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(); var successes = successController.GetSuccesses(1, 10, SuccessOrderCriteria.None) as OkObjectResult; - foreach (var item in successes.Value as IEnumerable) + foreach (var item in successes.Value as IEnumerable) { Console.WriteLine(item); } @@ -102,7 +102,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(user.Value as UserDTO); + Console.WriteLine(user.Value as UserDto); } void SearchInquiryByTitle() @@ -116,7 +116,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(inquiry.Value as InquiryDTO); + Console.WriteLine(inquiry.Value as InquiryDto); } void SearchParagraphByTitle() @@ -130,7 +130,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(paragraph.Value as ParagraphDTO); + Console.WriteLine(paragraph.Value as ParagraphDto); } void SearchLessonByTitle() @@ -144,7 +144,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(lesson.Value as LessonDTO); + Console.WriteLine(lesson.Value as LessonDto); } void SearchSuccessByUserId() @@ -158,7 +158,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(success.Value as SuccessDTO); + Console.WriteLine(success.Value as SuccessDto); } void SearchUserById() @@ -172,7 +172,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(user.Value as UserDTO); + Console.WriteLine(user.Value as UserDto); } void SearchInquiryById() @@ -186,7 +186,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(inquiry.Value as InquiryDTO); + Console.WriteLine(inquiry.Value as InquiryDto); } void SearchParagraphById() @@ -200,7 +200,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(paragraph.Value as ParagraphDTO); + Console.WriteLine(paragraph.Value as ParagraphDto); } void SearchSuccessByInquiryId() @@ -214,7 +214,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(success.Value as SuccessDTO); + Console.WriteLine(success.Value as SuccessDto); } void SearchLessonById() @@ -228,7 +228,7 @@ using (var context = new UserDbContext(options)) return; } - Console.WriteLine(lesson.Value as LessonDTO); + Console.WriteLine(lesson.Value as LessonDto); } void AddUser() @@ -239,7 +239,7 @@ using (var context = new UserDbContext(options)) var email = Console.ReadLine(); Console.WriteLine("Veuillez saisir un mot de passe :"); var mdp = Console.ReadLine(); - var res = userController.CreateUser(new UserDTO(username, mdp, email, false)); + var res = userController.CreateUser(new UserDto(username, mdp, email, false)); if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nUtilisateur créé avec succès"); @@ -262,7 +262,7 @@ using (var context = new UserDbContext(options)) var database = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Veuillez saisir l'id de la solution :"); var solution = Convert.ToInt32(Console.ReadLine()); - var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false)); + var res = inquiryController.CreateInquiry(new InquiryDto(title, description, false)); if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nEnquête créée avec succès"); @@ -287,7 +287,7 @@ using (var context = new UserDbContext(options)) var comment = Console.ReadLine(); Console.WriteLine("Veuillez saisir l'id de la leçon :"); var lesson = Convert.ToInt32(Console.ReadLine()); - var res = paragraphController.CreateParagraph(new ParagraphDTO(title, content, info, query, comment, lesson)); + var res = paragraphController.CreateParagraph(new ParagraphDto(title, content, info, query, comment, lesson)); if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nParagraphe créé avec succès"); @@ -305,7 +305,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir votre nom :"); var lastPublisher = Console.ReadLine(); var res = lessonController.CreateLesson( - new LessonDTO(title, lastPublisher, DateOnly.FromDateTime(DateTime.Now))); + new LessonDto(title, lastPublisher, DateOnly.FromDateTime(DateTime.Now))); if (res.GetType() == typeof(CreatedResult)) { Console.WriteLine("\nLeçon créée avec succès"); @@ -324,7 +324,7 @@ using (var context = new UserDbContext(options)) var inquiryId = Console.ReadLine(); Console.WriteLine("Veuillez indiquer si l'enquête a été complété (true/false) :"); var isFinished = Console.ReadLine(); - var res = successController.CreateSuccess(new SuccessDTO(int.Parse(userId), int.Parse(inquiryId), + var res = successController.CreateSuccess(new SuccessDto(int.Parse(userId), int.Parse(inquiryId), bool.Parse(isFinished))); if (res.GetType() == typeof(CreatedResult)) { @@ -343,7 +343,7 @@ using (var context = new UserDbContext(options)) var res = (userController.GetUserById(id)); if (res.GetType() == typeof(OkObjectResult)) { - var user = (res as OkObjectResult).Value as UserDTO; + var user = (res as OkObjectResult).Value as UserDto; if (user == null) { Console.WriteLine("Erreur, un problème est survenu"); @@ -357,7 +357,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir l'email :"); var email = Console.ReadLine(); var retour = - userController.UpdateUser(id, new UserDTO(id, username, user.Password, email, user.IsAdmin)); + userController.UpdateUser(id, new UserDto(id, username, user.Password, email, user.IsAdmin)); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); @@ -381,7 +381,7 @@ using (var context = new UserDbContext(options)) var res = (inquiryController.GetInquiryById(id)); if (res.GetType() == typeof(OkObjectResult)) { - var user = (res as OkObjectResult).Value as InquiryDTO; + var user = (res as OkObjectResult).Value as InquiryDto; if (user == null) { Console.WriteLine("Erreur, un problème est survenu"); @@ -401,7 +401,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir un commentaire :"); var inquiryTable = Convert.ToInt32(Console.ReadLine()); var retour = - inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser))); + inquiryController.UpdateInquiry(id, new InquiryDto(id, title, description, bool.Parse(isUser))); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); @@ -425,7 +425,7 @@ using (var context = new UserDbContext(options)) var res = (paragraphController.GetParagraphById(id)); if (res.GetType() == typeof(OkObjectResult)) { - var paragraph = (res as OkObjectResult).Value as ParagraphDTO; + var paragraph = (res as OkObjectResult).Value as ParagraphDto; if (paragraph == null) { Console.WriteLine("Erreur, un problème est survenu"); @@ -447,7 +447,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir l'id de la leçon :"); var lesson = Convert.ToInt32(Console.ReadLine()); var retour = paragraphController.UpdateParagraph(id, - new ParagraphDTO(id, title, content, info, query, comment, lesson)); + new ParagraphDto(id, title, content, info, query, comment, lesson)); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); @@ -471,7 +471,7 @@ using (var context = new UserDbContext(options)) var res = (lessonController.GetLessonById(id)); if (res.GetType() == typeof(OkObjectResult)) { - var lesson = (res as OkObjectResult).Value as LessonDTO; + var lesson = (res as OkObjectResult).Value as LessonDto; if (lesson == null) { Console.WriteLine("Erreur, un problème est survenu"); @@ -485,7 +485,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir votre nom :"); var lastPublisher = Console.ReadLine(); var retour = lessonController.UpdateLesson(id, - new LessonDTO(id, title, lastPublisher, DateOnly.FromDateTime(DateTime.Now))); + new LessonDto(id, title, lastPublisher, DateOnly.FromDateTime(DateTime.Now))); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); @@ -509,7 +509,7 @@ using (var context = new UserDbContext(options)) var res = (successController.GetSuccessByUserId(id)); if (res.GetType() == typeof(OkObjectResult)) { - var lesson = (res as OkObjectResult).Value as SuccessDTO; + var lesson = (res as OkObjectResult).Value as SuccessDto; if (lesson == null) { Console.WriteLine("Erreur, un problème est survenu"); @@ -525,7 +525,7 @@ using (var context = new UserDbContext(options)) Console.WriteLine("Veuillez saisir si l'enquête est terminée (0/1) :"); var isFinished = Console.ReadLine(); var retour = successController.UpdateSuccess(userId, inquiryId, - new SuccessDTO(userId, inquiryId, bool.Parse(isFinished))); + new SuccessDto(userId, inquiryId, bool.Parse(isFinished))); if (retour.GetType() == typeof(OkObjectResult)) { Console.WriteLine("Mise à jour effectué avec succès !"); @@ -780,7 +780,7 @@ using (var context = new UserDbContext(options)) } else { - var users = res as IEnumerable; + var users = res as IEnumerable; if (users == null) { Console.WriteLine("\nErreur, les ustilisateurs n'ont pas été trouvés !"); @@ -836,7 +836,7 @@ using (var context = new UserDbContext(options)) // Ajout d'un utilisateur Console.WriteLine("\n##########################################################\n"); Console.WriteLine("Création de l'utilisateur :\n"); - var user2 = new UserDTO("JohnDoe", "motdepasse", "johndoe@gmail.com", false); + var user2 = new UserDto("JohnDoe", "motdepasse", "johndoe@gmail.com", false); Console.WriteLine(user2); var res3 = userController.CreateUser(user2); if (res3 == null) @@ -863,7 +863,7 @@ using (var context = new UserDbContext(options)) { Console.WriteLine(user2); Console.WriteLine("\nNouvelle adresse : John.DOE@etu.uca.fr"); - var user3 = new UserDTO(user2.Id, user2.Username, user2.Password, "John.DOE@etu.uca.fr", user2.IsAdmin); + var user3 = new UserDto(user2.Id, user2.Username, user2.Password, "John.DOE@etu.uca.fr", user2.IsAdmin); var res4 = userController.UpdateUser(1, user3); if (res4 == null) { From 72808c98bab42661d0c5802a0f9ae0834e9f20e9 Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 10:33:33 +0100 Subject: [PATCH 44/50] Ajout des TU GetLessons pour LessonController --- API_SQLuedo/Dto/LessonDTO.cs | 36 ++++++- .../Extensions/LessonsDto.EqualityComparer.cs | 22 ++++ API_SQLuedo/TestAPI/LessonUnitTest.cs | 101 ++++++++++++++++++ API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 30 +----- 4 files changed, 159 insertions(+), 30 deletions(-) create mode 100644 API_SQLuedo/TestAPI/Extensions/LessonsDto.EqualityComparer.cs create mode 100644 API_SQLuedo/TestAPI/LessonUnitTest.cs diff --git a/API_SQLuedo/Dto/LessonDTO.cs b/API_SQLuedo/Dto/LessonDTO.cs index ab8008f..1f87e92 100644 --- a/API_SQLuedo/Dto/LessonDTO.cs +++ b/API_SQLuedo/Dto/LessonDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class LessonDTO +public class LessonDTO : IEquatable { public int Id { get; } public string? Title { get; set; } @@ -26,4 +26,38 @@ public class LessonDTO LastPublisher = lastPublisher; LastEdit = lastEdit; } + + public override string ToString() + { + return $"{Id}\t{Title}\t{LastPublisher}\t{LastEdit}"; + } + + 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 LessonDTO); + } + public bool Equals(LessonDTO 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/LessonsDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/LessonsDto.EqualityComparer.cs new file mode 100644 index 0000000..c042f13 --- /dev/null +++ b/API_SQLuedo/TestAPI/Extensions/LessonsDto.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 LessonIdEqualityComparer : EqualityComparer + { + public override bool Equals(LessonDTO x, LessonDTO y) + { + return x.Id == y.Id; + } + + public override int GetHashCode(LessonDTO obj) + { + return obj.Id; + } + } +} diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs new file mode 100644 index 0000000..e2d9b10 --- /dev/null +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -0,0 +1,101 @@ +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 LessonUnitTest + { + private readonly Mock> lessonService; + + public LessonUnitTest() + { + lessonService = new Mock>(); + } + + [Fact] + public void GetLessonsListSuccess() + { + var lessonList = GetLessonsData(); + lessonService.Setup(x => x.GetLessons(1, 4, 0)) + .Returns(lessonList); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.GetLessons(1, 4, 0); + + if (lessonsResult is OkObjectResult okObjectResult) + { + var valeur = okObjectResult.Value; + + Assert.NotNull(valeur); + Assert.Equal(GetLessonsData().ToString(), valeur.ToString()); + Assert.True(lessonList.SequenceEqual(valeur as IEnumerable, new LessonIdEqualityComparer())); + + } + + } + + [Fact] + public void GetLessonsListFail() + { + lessonService.Setup(x => x.GetLessons(1, 4, 0)) + .Returns(new List()); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.GetLessons(2, 3, 0); + + if (lessonsResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) + + { + + Assert.IsNotType(lessonsResult); + } + + } + + + + + + + + + + + + + + + + + + + + + + + private List GetLessonsData() + { + List lessonsData = new List(4) + { + new (1,"Le titre", "Clément",new DateOnly(2024,03,10)), + new (2,"Pas titre", "Erwan",new DateOnly(2024,02,11)), + new (3,"Chiant la", "Une personne",new DateOnly(2012,12,25)), + new ("Les fleurs du mal", "Baudelaire",new DateOnly(1872,10,01)), + }; + return lessonsData; + } + + + + } +} \ No newline at end of file diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index 162d102..f3379c4 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -278,35 +278,7 @@ namespace TestAPI Assert.Equal(400, BDObjectResult.StatusCode); } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - + } private List GetParagraphsData() { List paragraphsData = new List(4) From dc5cb856ed408b22c93b4e8b9a6cbe0372db941a Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 10:38:04 +0100 Subject: [PATCH 45/50] Ajout des TU GetID pour le LessonController --- API_SQLuedo/TestAPI/LessonUnitTest.cs | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs index e2d9b10..a96fa9d 100644 --- a/API_SQLuedo/TestAPI/LessonUnitTest.cs +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -63,7 +63,55 @@ namespace TestAPI } + [Fact] + public void GetLessonIdSuccess() + { + var lessonList = GetLessonsData(); + lessonService.Setup(x => x.GetLessonById(1)) + .Returns(lessonList[0]); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.GetLessonById(1); + if (lessonsResult is OkObjectResult okObjectResult) + { + LessonDTO valeur = okObjectResult.Value as LessonDTO; + + Assert.NotNull(valeur); + Assert.Equal("Le titre", valeur.Title); + Assert.Equal("Clément", valeur.LastPublisher); + Assert.Equal(new DateOnly(2024, 03, 10), valeur.LastEdit); + Assert.NotEqual(2, valeur.Id); + + + Assert.Equal(valeur.GetHashCode(), lessonList[0].GetHashCode()); + Assert.True(valeur.Equals(lessonList[0])); + Assert.False(valeur.Equals(new object())); + Assert.True(valeur.Equals(valeur)); + Assert.IsType(valeur); + Assert.Contains(valeur, lessonList); + } + + } + [Fact] + public void GetLessonIdFail() + { + var lessonList = GetLessonsData(); + lessonService.Setup(x => x.GetLessonById(1)) + .Returns(lessonList[0]); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.GetLessonById(100); + if (lessonsResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, lessonList); + } + + } From 98b2a4ce951fc4a619df23b610d6a96e06cc1566 Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 10:43:32 +0100 Subject: [PATCH 46/50] Ajout des TU GetByTitle dans LessonController --- API_SQLuedo/TestAPI/LessonUnitTest.cs | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs index a96fa9d..e368d50 100644 --- a/API_SQLuedo/TestAPI/LessonUnitTest.cs +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -114,6 +114,52 @@ namespace TestAPI } + [Fact] + public void GetLessonTitleSuccess() + { + var lessonList = GetLessonsData(); + lessonService.Setup(x => x.GetLessonByTitle("Chiant la")) + .Returns(lessonList[2]); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.GetLessonByTitle("Chiant la"); + if (lessonsResult is OkObjectResult okObjectResult) + { + LessonDTO valeur = okObjectResult.Value as LessonDTO; + + Assert.NotNull(valeur); + Assert.Equal("Chiant la", valeur.Title); + Assert.Equal("Une personne", valeur.LastPublisher); + Assert.Equal(new DateOnly(2012, 12, 25), valeur.LastEdit); + Assert.Equal(3, valeur.Id); + Assert.IsType(valeur); + Assert.Contains(valeur, lessonList); + } + + } + + + [Fact] + public void GetLessonTitleFail() + { + var lessonList = GetLessonsData(); + lessonService.Setup(x => x.GetLessonByTitle("Chiant la")) + .Returns(lessonList[2]); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.GetLessonByTitle("IUHIUHU"); + + if (lessonsResult is NotFoundObjectResult NFObjectResult) + { + var valeur = NFObjectResult.Value; + + Assert.NotNull(valeur); + Assert.IsNotType(valeur); + Assert.DoesNotContain(valeur, lessonList); + Assert.False(lessonList == valeur); + } + } + From 9131895ab562aca4fca6f6ce0b29cfb3ccc6beca Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 10:45:34 +0100 Subject: [PATCH 47/50] TU Delete LessonController --- API_SQLuedo/TestAPI/LessonUnitTest.cs | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs index e368d50..c11aed1 100644 --- a/API_SQLuedo/TestAPI/LessonUnitTest.cs +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -161,8 +161,39 @@ namespace TestAPI } + [Fact] + public void DeleteLessonSuccess() + { + lessonService.Setup(x => x.DeleteLesson(1)) + .Returns(true); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.DeleteLesson(1); + if (lessonsResult is OkObjectResult okObjectResult) + { + bool valeur = (bool)okObjectResult.Value; + + Assert.True(valeur); + } + + } + [Fact] + public void DeleteLessonFail() + { + lessonService.Setup(x => x.DeleteLesson(1)) + .Returns(true); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.DeleteLesson(100); + if (lessonsResult is NotFoundObjectResult NFObjectResult) + { + Assert.Null(NFObjectResult.Value); + Assert.IsNotType(NFObjectResult.Value); + } + } + From ac2dfbb85bcb633ef8181d1d105670404ea79748 Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 10:58:17 +0100 Subject: [PATCH 48/50] Fin TU LessonController (Update et Create) --- API_SQLuedo/TestAPI/LessonUnitTest.cs | 89 +++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs index c11aed1..b7444e2 100644 --- a/API_SQLuedo/TestAPI/LessonUnitTest.cs +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -194,6 +194,95 @@ namespace TestAPI } } + [Fact] + public void CreateLessonSuccess() + { + lessonService.Setup(x => x.CreateLesson("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024,03,16))) + .Returns(new LessonDTO("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.CreateLesson(new LessonDTO("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + if (lessonsResult is CreatedResult createdObjectResult) + { + LessonDTO valeur = createdObjectResult.Value as LessonDTO; + + Assert.NotNull(valeur); + Assert.Equal("Le nouveau titre", valeur.Title); + Assert.Equal("Le nouvel éditeur", valeur.LastPublisher); + Assert.Equal(new DateOnly(2024, 03, 16), valeur.LastEdit); + } + + } + + [Fact] + public void CreateLessonFail() + { + lessonService.Setup(x => x.CreateLesson("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))) + .Returns(new LessonDTO("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.CreateLesson(new LessonDTO(null, "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + + if (lessonsResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } + + + [Fact] + public void UpdateLessonSuccess() + { + lessonService.Setup(x => x.UpdateLesson(1,new LessonDTO(1,"Titre update","Le dernier publisher",new DateOnly(2022,02,02)))) + .Returns(new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.UpdateLesson(1, new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + if (lessonsResult is OkObjectResult okObjectResult) + { + LessonDTO valeur = okObjectResult.Value as LessonDTO; + + Assert.NotNull(valeur); + Assert.Equal("Titre update", valeur.Title); + Assert.Equal("Le dernier publisher", valeur.LastPublisher); + Assert.Equal(new DateOnly(2022, 02, 02), valeur.LastEdit); + Assert.Equal(1, valeur.Id); + } + + } + + [Fact] + public void UpdateLessonFail() + { + lessonService.Setup(x => x.UpdateLesson(1, new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02)))) + .Returns(new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); + + var lessonsResult = LessonsController.UpdateLesson(1, new LessonDTO(2, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + + if (lessonsResult is BadRequestResult BDObjectResult) + { + + Assert.Equal(400, BDObjectResult.StatusCode); + } + } + + + + + + + + + + + + + + + + From d9f05fa139f393b6a0be84844e014f95297a65c9 Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 11:12:32 +0100 Subject: [PATCH 49/50] Refactor des noms entre le merge de UnitTests et master --- .../API/Controllers/InquiriesController.cs | 8 +-- .../API/Controllers/LessonsController.cs | 8 +-- .../API/Controllers/ParagraphsController.cs | 8 +-- .../API/Controllers/SuccessesController.cs | 8 +-- API_SQLuedo/API/Controllers/UserController.cs | 8 +-- API_SQLuedo/Dto/InquiryDTO.cs | 6 +- API_SQLuedo/Dto/LessonDTO.cs | 6 +- API_SQLuedo/Dto/ParagraphDTO.cs | 6 +- API_SQLuedo/Dto/SuccessDTO.cs | 6 +- API_SQLuedo/Dto/UserDTO.cs | 6 +- .../Extensions/InquiryDto.EqualityComparer.cs | 6 +- .../Extensions/LessonsDto.EqualityComparer.cs | 6 +- .../ParagraphDto.EqualityComparer.cs | 6 +- .../Extensions/SuccessDto.EqualityComparer.cs | 6 +- .../Extensions/UserDto.EqualityComparer.cs | 6 +- API_SQLuedo/TestAPI/InquiryUnitTest.cs | 48 ++++++++-------- API_SQLuedo/TestAPI/LessonUnitTest.cs | 48 ++++++++-------- API_SQLuedo/TestAPI/ParagraphsUnitTest.cs | 48 ++++++++-------- API_SQLuedo/TestAPI/SuccessesUnitTest.cs | 56 +++++++++---------- API_SQLuedo/TestAPI/UserUnitTest.cs | 48 ++++++++-------- 20 files changed, 174 insertions(+), 174 deletions(-) diff --git a/API_SQLuedo/API/Controllers/InquiriesController.cs b/API_SQLuedo/API/Controllers/InquiriesController.cs index 14ad6fc..0b412bc 100644 --- a/API_SQLuedo/API/Controllers/InquiriesController.cs +++ b/API_SQLuedo/API/Controllers/InquiriesController.cs @@ -112,9 +112,9 @@ namespace API.Controllers [ProducesResponseType(typeof(InquiryDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateInquiry(int id, [FromBody] InquiryDto inquiryDTO) + public IActionResult UpdateInquiry(int id, [FromBody] InquiryDto InquiryDto) { - if (id != inquiryDTO.Id) + if (id != InquiryDto.Id) { _logger.LogError("[ERREUR] Problème ID - La mise à jour de l'enquête avec l'id {id} a échouée.", id); return BadRequest(); @@ -127,10 +127,10 @@ namespace API.Controllers return BadRequest(); } - if (inquiryDTO != null) + if (InquiryDto != null) { _logger.LogInformation("[INFORMATION] La mise à jour de l'enquête avec l'id {id} a été effectuée", id); - return Ok(_inquiryDataService.UpdateInquiry(id, inquiryDTO)); + return Ok(_inquiryDataService.UpdateInquiry(id, InquiryDto)); } _logger.LogError("[ERREUR] Aucune enquête trouvée avec l'id {id}.", id); diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index 827db2f..57404aa 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -112,9 +112,9 @@ namespace API.Controllers [ProducesResponseType(typeof(LessonDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateLesson(int id, [FromBody] LessonDto lessonDTO) + public IActionResult UpdateLesson(int id, [FromBody] LessonDto LessonDto) { - if (id != lessonDTO.Id) + if (id != LessonDto.Id) { _logger.LogError("[ERREUR] Problème ID - La mise à jour de la leçon avec l'id {id} a échouée.", id); return BadRequest(); @@ -127,10 +127,10 @@ namespace API.Controllers return BadRequest(); } - if (lessonDTO != null) + if (LessonDto != null) { _logger.LogInformation("[INFORMATION] La mise à jour de la leçon avec l'id {id} a été effectuée", id); - return Ok(_lessonDataService.UpdateLesson(id, lessonDTO)); + return Ok(_lessonDataService.UpdateLesson(id, LessonDto)); } _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); diff --git a/API_SQLuedo/API/Controllers/ParagraphsController.cs b/API_SQLuedo/API/Controllers/ParagraphsController.cs index 5d934cc..9d2557f 100644 --- a/API_SQLuedo/API/Controllers/ParagraphsController.cs +++ b/API_SQLuedo/API/Controllers/ParagraphsController.cs @@ -115,9 +115,9 @@ namespace API.Controllers [ProducesResponseType(typeof(ParagraphDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateParagraph(int id, [FromBody] ParagraphDto paragraphDTO) + public IActionResult UpdateParagraph(int id, [FromBody] ParagraphDto ParagraphDto) { - if (id != paragraphDTO.Id) + if (id != ParagraphDto.Id) { _logger.LogError("[ERREUR] Problème ID - La mise à jour du paragraphe avec l'id {id} a échouée.", id); return BadRequest(); @@ -130,10 +130,10 @@ namespace API.Controllers return BadRequest(); } - if (paragraphDTO != null) + if (ParagraphDto != null) { _logger.LogInformation("[INFORMATION] La mise à jour du paragraphe avec l'id {id} a été effectuée", id); - return Ok(_paragraphDataService.UpdateParagraph(id, paragraphDTO)); + return Ok(_paragraphDataService.UpdateParagraph(id, ParagraphDto)); } _logger.LogError("[ERREUR] Aucun paragraphe trouvé avec l'id {id}.", id); diff --git a/API_SQLuedo/API/Controllers/SuccessesController.cs b/API_SQLuedo/API/Controllers/SuccessesController.cs index 25c6371..939793d 100644 --- a/API_SQLuedo/API/Controllers/SuccessesController.cs +++ b/API_SQLuedo/API/Controllers/SuccessesController.cs @@ -112,9 +112,9 @@ namespace API.Controllers [ProducesResponseType(typeof(SuccessDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateSuccess(int idUser, int idInquiry, [FromBody] SuccessDto successDTO) + public IActionResult UpdateSuccess(int idUser, int idInquiry, [FromBody] SuccessDto SuccessDto) { - if (idUser != successDTO.UserId || idInquiry != successDTO.InquiryId) + if (idUser != SuccessDto.UserId || idInquiry != SuccessDto.InquiryId) { _logger.LogError( "[ERREUR] Problème ID - La mise à jour du succès avec l'id de l'utilisateur {id} a échouée.", idUser); @@ -128,11 +128,11 @@ namespace API.Controllers return BadRequest(); } - if (successDTO != null) + if (SuccessDto != null) { _logger.LogInformation( "[INFORMATION] La mise à jour du succès avec l'id de l'utilisateur {id} a été effectuée", idUser); - return Ok(_successDataService.UpdateSuccess(idUser,idInquiry, successDTO)); + return Ok(_successDataService.UpdateSuccess(idUser,idInquiry, SuccessDto)); } _logger.LogError("[ERREUR] Aucun succès trouvé avec l'id de l'utilisateur {id}.", idUser); diff --git a/API_SQLuedo/API/Controllers/UserController.cs b/API_SQLuedo/API/Controllers/UserController.cs index 8a76b34..fb57815 100644 --- a/API_SQLuedo/API/Controllers/UserController.cs +++ b/API_SQLuedo/API/Controllers/UserController.cs @@ -103,9 +103,9 @@ namespace API.Controllers [ProducesResponseType(typeof(UserDto), 200)] [ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 404)] - public IActionResult UpdateUser(int id, [FromBody] UserDto userDto) + public IActionResult UpdateUser(int id, [FromBody] UserDto UserDto) { - if (id != userDto.Id) + if (id != UserDto.Id) { logger.LogError("[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée.", id); return BadRequest(); @@ -118,11 +118,11 @@ namespace API.Controllers return BadRequest(); } - if (userDto != null) + if (UserDto != null) { logger.LogInformation("[INFORMATION] La mise à jour de l'utilisateur avec l'id {id} a été effectuée", id); - return Ok(userService.UpdateUser(id, userDto)); + return Ok(userService.UpdateUser(id, UserDto)); } logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id); diff --git a/API_SQLuedo/Dto/InquiryDTO.cs b/API_SQLuedo/Dto/InquiryDTO.cs index 031721e..1de1adf 100644 --- a/API_SQLuedo/Dto/InquiryDTO.cs +++ b/API_SQLuedo/Dto/InquiryDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class InquiryDTO : IEquatable +public class InquiryDto : IEquatable { public int Id { get; } @@ -48,10 +48,10 @@ public class InquiryDTO : IEquatable return false; } - return this.Equals(right as InquiryDTO); + return this.Equals(right as InquiryDto); } - public bool Equals(InquiryDTO other) + public bool Equals(InquiryDto other) { return (this.Id == other.Id); } diff --git a/API_SQLuedo/Dto/LessonDTO.cs b/API_SQLuedo/Dto/LessonDTO.cs index 8ee5fb9..00ac9a3 100644 --- a/API_SQLuedo/Dto/LessonDTO.cs +++ b/API_SQLuedo/Dto/LessonDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class LessonDTO : IEquatable +public class LessonDto : IEquatable { public int Id { get; } public string? Title { get; set; } @@ -49,9 +49,9 @@ public class LessonDTO : IEquatable return false; } - return this.Equals(right as LessonDTO); + return this.Equals(right as LessonDto); } - public bool Equals(LessonDTO other) + public bool Equals(LessonDto other) { return (this.Id == other.Id); } diff --git a/API_SQLuedo/Dto/ParagraphDTO.cs b/API_SQLuedo/Dto/ParagraphDTO.cs index 2c5f1de..847ffa2 100644 --- a/API_SQLuedo/Dto/ParagraphDTO.cs +++ b/API_SQLuedo/Dto/ParagraphDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class ParagraphDTO : ContentLessonDTO, IEquatable +public class ParagraphDto : ContentLessonDto, IEquatable { public string Title { get; set; } public string Content { get; set; } @@ -57,9 +57,9 @@ public class ParagraphDTO : ContentLessonDTO, IEquatable return false; } - return this.Equals(right as ParagraphDTO); + return this.Equals(right as ParagraphDto); } - public bool Equals(ParagraphDTO other) + public bool Equals(ParagraphDto other) { return (this.Id == other.Id); } diff --git a/API_SQLuedo/Dto/SuccessDTO.cs b/API_SQLuedo/Dto/SuccessDTO.cs index 39310ea..3608e1e 100644 --- a/API_SQLuedo/Dto/SuccessDTO.cs +++ b/API_SQLuedo/Dto/SuccessDTO.cs @@ -1,6 +1,6 @@ namespace Dto; -public class SuccessDTO : IEquatable +public class SuccessDto : IEquatable { public int UserId { get; set; } public int InquiryId { get; set; } @@ -39,9 +39,9 @@ public class SuccessDTO : IEquatable return false; } - return this.Equals(right as SuccessDTO); + return this.Equals(right as SuccessDto); } - public bool Equals(SuccessDTO other) + public bool Equals(SuccessDto other) { return (this.UserId == other.UserId && this.InquiryId == other.InquiryId); } diff --git a/API_SQLuedo/Dto/UserDTO.cs b/API_SQLuedo/Dto/UserDTO.cs index 85f1cbf..09df9e4 100644 --- a/API_SQLuedo/Dto/UserDTO.cs +++ b/API_SQLuedo/Dto/UserDTO.cs @@ -1,6 +1,6 @@ namespace Dto { - public class UserDTO : IEquatable + public class UserDto : IEquatable { public int Id { get; set; } public string Username { get; set; } @@ -51,9 +51,9 @@ return false; } - return this.Equals(right as UserDTO); + return this.Equals(right as UserDto); } - public bool Equals(UserDTO other) + public bool Equals(UserDto other) { return (this.Id == other.Id); } diff --git a/API_SQLuedo/TestAPI/Extensions/InquiryDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/InquiryDto.EqualityComparer.cs index dc2bccf..39572f9 100644 --- a/API_SQLuedo/TestAPI/Extensions/InquiryDto.EqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/InquiryDto.EqualityComparer.cs @@ -7,14 +7,14 @@ using System.Threading.Tasks; namespace TestAPI.Extensions { - class InquiryIdEqualityComparer : EqualityComparer + class InquiryIdEqualityComparer : EqualityComparer { - public override bool Equals(InquiryDTO x, InquiryDTO y) + public override bool Equals(InquiryDto x, InquiryDto y) { return x.Id == y.Id; } - public override int GetHashCode(InquiryDTO obj) + public override int GetHashCode(InquiryDto obj) { return obj.Id; } diff --git a/API_SQLuedo/TestAPI/Extensions/LessonsDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/LessonsDto.EqualityComparer.cs index c042f13..6356a5e 100644 --- a/API_SQLuedo/TestAPI/Extensions/LessonsDto.EqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/LessonsDto.EqualityComparer.cs @@ -7,14 +7,14 @@ using System.Threading.Tasks; namespace TestAPI.Extensions { - class LessonIdEqualityComparer : EqualityComparer + class LessonIdEqualityComparer : EqualityComparer { - public override bool Equals(LessonDTO x, LessonDTO y) + public override bool Equals(LessonDto x, LessonDto y) { return x.Id == y.Id; } - public override int GetHashCode(LessonDTO obj) + public override int GetHashCode(LessonDto obj) { return obj.Id; } diff --git a/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs index a590d5a..42e9c15 100644 --- a/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/ParagraphDto.EqualityComparer.cs @@ -7,14 +7,14 @@ using System.Threading.Tasks; namespace TestAPI.Extensions { - class ParagraphIdEqualityComparer : EqualityComparer + class ParagraphIdEqualityComparer : EqualityComparer { - public override bool Equals(ParagraphDTO x, ParagraphDTO y) + public override bool Equals(ParagraphDto x, ParagraphDto y) { return x.Id == y.Id; } - public override int GetHashCode(ParagraphDTO obj) + public override int GetHashCode(ParagraphDto obj) { return obj.Id; } diff --git a/API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs index 9516419..4acb0b1 100644 --- a/API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/SuccessDto.EqualityComparer.cs @@ -7,14 +7,14 @@ using System.Threading.Tasks; namespace TestAPI.Extensions { - class SuccessIdEqualityComparer : EqualityComparer + class SuccessIdEqualityComparer : EqualityComparer { - public override bool Equals(SuccessDTO x, SuccessDTO y) + public override bool Equals(SuccessDto x, SuccessDto y) { return x.UserId == y.UserId && x.InquiryId == y.InquiryId; } - public override int GetHashCode(SuccessDTO obj) + public override int GetHashCode(SuccessDto obj) { return obj.UserId * obj.InquiryId; } diff --git a/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs b/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs index 33b34a2..f1c81e4 100644 --- a/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs +++ b/API_SQLuedo/TestAPI/Extensions/UserDto.EqualityComparer.cs @@ -7,14 +7,14 @@ using Dto; namespace TestAPI.Extensions { - class UserIdEqualityComparer : EqualityComparer + class UserIdEqualityComparer : EqualityComparer { - public override bool Equals(UserDTO x, UserDTO y) + public override bool Equals(UserDto x, UserDto y) { return x.Id == y.Id; } - public override int GetHashCode(UserDTO obj) + public override int GetHashCode(UserDto obj) { return obj.Id; } diff --git a/API_SQLuedo/TestAPI/InquiryUnitTest.cs b/API_SQLuedo/TestAPI/InquiryUnitTest.cs index 8b7a9e3..ac2bd41 100644 --- a/API_SQLuedo/TestAPI/InquiryUnitTest.cs +++ b/API_SQLuedo/TestAPI/InquiryUnitTest.cs @@ -16,10 +16,10 @@ namespace TestAPI { public class InquiryUnitTest { - private readonly Mock> inquiryService; + private readonly Mock> inquiryService; public InquiryUnitTest() { - inquiryService = new Mock>(); + inquiryService = new Mock>(); } @@ -39,7 +39,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetInquiriesData().ToString(), valeur.ToString()); - Assert.True(inquiryList.SequenceEqual(valeur as IEnumerable, new InquiryIdEqualityComparer())); + Assert.True(inquiryList.SequenceEqual(valeur as IEnumerable, new InquiryIdEqualityComparer())); } @@ -49,7 +49,7 @@ namespace TestAPI public void GetInquiresListFail() { inquiryService.Setup(x => x.GetInquiries(1, 4, 0)) - .Returns(new List()); + .Returns(new List()); var InquiryController = new InquiriesController(inquiryService.Object, new NullLogger()); var inquiriesResult = InquiryController.GetInquiries(2, 3, 0); @@ -79,7 +79,7 @@ namespace TestAPI var inquiryResult = InquiriesController.GetInquiryById(1); if (inquiryResult is OkObjectResult okObjectResult) { - InquiryDTO valeur = okObjectResult.Value as InquiryDTO; + InquiryDto valeur = okObjectResult.Value as InquiryDto; Assert.NotNull(valeur); Assert.Equal("titre 2", valeur.Title); @@ -88,7 +88,7 @@ namespace TestAPI Assert.Equal(valeur.GetHashCode(), inquiryList[1].GetHashCode()); Assert.True(valeur.Equals(inquiryList[1])); Assert.False(valeur.Equals(new object())); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, inquiryList); } @@ -108,7 +108,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, inquiryList); } @@ -127,10 +127,10 @@ namespace TestAPI var inquiriesResult = InquiriesController.GetInquiryByTitle("ZUDZU"); if (inquiriesResult is OkObjectResult okObjectResult) { - InquiryDTO valeur = okObjectResult.Value as InquiryDTO; + InquiryDto valeur = okObjectResult.Value as InquiryDto; Assert.NotNull(valeur); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, inquiryList); Assert.Equal("ZUDZU", valeur.Title); Assert.Equal("OUHHHH", valeur.Description); @@ -156,7 +156,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, inquiryList); Assert.False(inquiryList == valeur); } @@ -205,13 +205,13 @@ namespace TestAPI public void CreateInquirySuccess() { inquiryService.Setup(x => x.CreateInquiry("Titros","description",false)) - .Returns(new InquiryDTO(4,"Titros","description",false)); + .Returns(new InquiryDto(4,"Titros","description",false)); var InquiriesController = new InquiriesController( inquiryService.Object,new NullLogger()); - var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDTO("Titros", "description", false)); + var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDto("Titros", "description", false)); if (inquiriesResult is CreatedResult createdObjectResult) { - InquiryDTO valeur = createdObjectResult.Value as InquiryDTO; + InquiryDto valeur = createdObjectResult.Value as InquiryDto; Assert.NotNull(valeur); Assert.Equal(4, valeur.Id); @@ -226,10 +226,10 @@ namespace TestAPI public void CreateInquiryFail() { inquiryService.Setup(x => x.CreateInquiry("Titros", "description", false)) - .Returns(new InquiryDTO(4, "Titros", "description", false)); + .Returns(new InquiryDto(4, "Titros", "description", false)); var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); - var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDTO(4, null, "heudfk@hdye.com", true)); + var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDto(4, null, "heudfk@hdye.com", true)); if (inquiriesResult is BadRequestResult BDObjectResult) { @@ -242,14 +242,14 @@ namespace TestAPI [Fact] public void UpdateInquirySuccess() { - inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true))) - .Returns(new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); + inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDto(1, "Passssss", "heudfk@hdye.com", true))) + .Returns(new InquiryDto(1, "Passssss", "heudfk@hdye.com", true)); var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); - var inquiriesResult = InquiriesController.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); + var inquiriesResult = InquiriesController.UpdateInquiry(1, new InquiryDto(1, "Passssss", "heudfk@hdye.com", true)); if (inquiriesResult is OkObjectResult okObjectResult) { - InquiryDTO valeur = okObjectResult.Value as InquiryDTO; + InquiryDto valeur = okObjectResult.Value as InquiryDto; Assert.NotNull(valeur); Assert.Equal("Passssss", valeur.Title); @@ -262,11 +262,11 @@ namespace TestAPI [Fact] public void UpdateInquiryFail() { - inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true))) - .Returns(new InquiryDTO(1, "Passssss", "heudfk@hdye.com", true)); + inquiryService.Setup(x => x.UpdateInquiry(1, new InquiryDto(1, "Passssss", "heudfk@hdye.com", true))) + .Returns(new InquiryDto(1, "Passssss", "heudfk@hdye.com", true)); var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger()); - var inquiriesResult = InquiriesController.UpdateInquiry(1, new InquiryDTO(2, "Passssss", "heudfk@hdye.com", true)); + var inquiriesResult = InquiriesController.UpdateInquiry(1, new InquiryDto(2, "Passssss", "heudfk@hdye.com", true)); if (inquiriesResult is BadRequestResult BDObjectResult) { @@ -284,9 +284,9 @@ namespace TestAPI - private List GetInquiriesData() + private List GetInquiriesData() { - List inquiriesData = new List(4) + List inquiriesData = new List(4) { new (0,"titre 1","La desc",false), new (1,"titre 2","Description",true), diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs index b7444e2..b42c9c8 100644 --- a/API_SQLuedo/TestAPI/LessonUnitTest.cs +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -15,11 +15,11 @@ namespace TestAPI { public class LessonUnitTest { - private readonly Mock> lessonService; + private readonly Mock> lessonService; public LessonUnitTest() { - lessonService = new Mock>(); + lessonService = new Mock>(); } [Fact] @@ -38,7 +38,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetLessonsData().ToString(), valeur.ToString()); - Assert.True(lessonList.SequenceEqual(valeur as IEnumerable, new LessonIdEqualityComparer())); + Assert.True(lessonList.SequenceEqual(valeur as IEnumerable, new LessonIdEqualityComparer())); } @@ -48,7 +48,7 @@ namespace TestAPI public void GetLessonsListFail() { lessonService.Setup(x => x.GetLessons(1, 4, 0)) - .Returns(new List()); + .Returns(new List()); var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); var lessonsResult = LessonsController.GetLessons(2, 3, 0); @@ -74,7 +74,7 @@ namespace TestAPI var lessonsResult = LessonsController.GetLessonById(1); if (lessonsResult is OkObjectResult okObjectResult) { - LessonDTO valeur = okObjectResult.Value as LessonDTO; + LessonDto valeur = okObjectResult.Value as LessonDto; Assert.NotNull(valeur); Assert.Equal("Le titre", valeur.Title); @@ -87,7 +87,7 @@ namespace TestAPI Assert.True(valeur.Equals(lessonList[0])); Assert.False(valeur.Equals(new object())); Assert.True(valeur.Equals(valeur)); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, lessonList); } @@ -107,7 +107,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, lessonList); } @@ -125,14 +125,14 @@ namespace TestAPI var lessonsResult = LessonsController.GetLessonByTitle("Chiant la"); if (lessonsResult is OkObjectResult okObjectResult) { - LessonDTO valeur = okObjectResult.Value as LessonDTO; + LessonDto valeur = okObjectResult.Value as LessonDto; Assert.NotNull(valeur); Assert.Equal("Chiant la", valeur.Title); Assert.Equal("Une personne", valeur.LastPublisher); Assert.Equal(new DateOnly(2012, 12, 25), valeur.LastEdit); Assert.Equal(3, valeur.Id); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, lessonList); } @@ -154,7 +154,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, lessonList); Assert.False(lessonList == valeur); } @@ -198,13 +198,13 @@ namespace TestAPI public void CreateLessonSuccess() { lessonService.Setup(x => x.CreateLesson("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024,03,16))) - .Returns(new LessonDTO("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + .Returns(new LessonDto("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); - var lessonsResult = LessonsController.CreateLesson(new LessonDTO("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + var lessonsResult = LessonsController.CreateLesson(new LessonDto("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); if (lessonsResult is CreatedResult createdObjectResult) { - LessonDTO valeur = createdObjectResult.Value as LessonDTO; + LessonDto valeur = createdObjectResult.Value as LessonDto; Assert.NotNull(valeur); Assert.Equal("Le nouveau titre", valeur.Title); @@ -218,10 +218,10 @@ namespace TestAPI public void CreateLessonFail() { lessonService.Setup(x => x.CreateLesson("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))) - .Returns(new LessonDTO("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + .Returns(new LessonDto("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))); var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); - var lessonsResult = LessonsController.CreateLesson(new LessonDTO(null, "Le nouvel éditeur", new DateOnly(2024, 03, 16))); + var lessonsResult = LessonsController.CreateLesson(new LessonDto(null, "Le nouvel éditeur", new DateOnly(2024, 03, 16))); if (lessonsResult is BadRequestResult BDObjectResult) { @@ -234,14 +234,14 @@ namespace TestAPI [Fact] public void UpdateLessonSuccess() { - lessonService.Setup(x => x.UpdateLesson(1,new LessonDTO(1,"Titre update","Le dernier publisher",new DateOnly(2022,02,02)))) - .Returns(new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + lessonService.Setup(x => x.UpdateLesson(1,new LessonDto(1,"Titre update","Le dernier publisher",new DateOnly(2022,02,02)))) + .Returns(new LessonDto(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); - var lessonsResult = LessonsController.UpdateLesson(1, new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + var lessonsResult = LessonsController.UpdateLesson(1, new LessonDto(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); if (lessonsResult is OkObjectResult okObjectResult) { - LessonDTO valeur = okObjectResult.Value as LessonDTO; + LessonDto valeur = okObjectResult.Value as LessonDto; Assert.NotNull(valeur); Assert.Equal("Titre update", valeur.Title); @@ -255,11 +255,11 @@ namespace TestAPI [Fact] public void UpdateLessonFail() { - lessonService.Setup(x => x.UpdateLesson(1, new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02)))) - .Returns(new LessonDTO(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + lessonService.Setup(x => x.UpdateLesson(1, new LessonDto(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02)))) + .Returns(new LessonDto(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); - var lessonsResult = LessonsController.UpdateLesson(1, new LessonDTO(2, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); + var lessonsResult = LessonsController.UpdateLesson(1, new LessonDto(2, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02))); if (lessonsResult is BadRequestResult BDObjectResult) { @@ -297,9 +297,9 @@ namespace TestAPI - private List GetLessonsData() + private List GetLessonsData() { - List lessonsData = new List(4) + List lessonsData = new List(4) { new (1,"Le titre", "Clément",new DateOnly(2024,03,10)), new (2,"Pas titre", "Erwan",new DateOnly(2024,02,11)), diff --git a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs index f3379c4..ec16679 100644 --- a/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs +++ b/API_SQLuedo/TestAPI/ParagraphsUnitTest.cs @@ -16,11 +16,11 @@ namespace TestAPI public class ParagraphsUnitTest { - private readonly Mock> paragraphService; + private readonly Mock> paragraphService; public ParagraphsUnitTest() { - paragraphService = new Mock>(); + paragraphService = new Mock>(); } [Fact] @@ -39,7 +39,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetParagraphsData().ToString(), valeur.ToString()); - Assert.True(paragraphsList.SequenceEqual(valeur as IEnumerable, new ParagraphIdEqualityComparer())); + Assert.True(paragraphsList.SequenceEqual(valeur as IEnumerable, new ParagraphIdEqualityComparer())); } @@ -49,7 +49,7 @@ namespace TestAPI public void GetParagraphsListFail() { paragraphService.Setup(x => x.GetParagraphs(1, 4, 0)) - .Returns(new List()); + .Returns(new List()); var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); var paragraphsResult = ParagraphsController.GetParagraphs(1, 4, 0); @@ -76,7 +76,7 @@ namespace TestAPI var paragraphsResult = ParagraphsController.GetParagraphById(1); if (paragraphsResult is OkObjectResult okObjectResult) { - ParagraphDTO valeur = okObjectResult.Value as ParagraphDTO; + ParagraphDto valeur = okObjectResult.Value as ParagraphDto; Assert.NotNull(valeur); Assert.Equal("Le titre", valeur.Title); @@ -91,7 +91,7 @@ namespace TestAPI Assert.True(valeur.Equals(paragraphsList[1])); Assert.False(valeur.Equals(new object())); Assert.True(valeur.Equals(valeur)); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, paragraphsList); } @@ -111,7 +111,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, paragraphsList); } @@ -129,7 +129,7 @@ namespace TestAPI var paragraphsResult = ParagraphsController.GetParagraphByTitle("Title"); if (paragraphsResult is OkObjectResult okObjectResult) { - ParagraphDTO valeur = okObjectResult.Value as ParagraphDTO; + ParagraphDto valeur = okObjectResult.Value as ParagraphDto; Assert.NotNull(valeur); Assert.Equal("Title", valeur.Title); @@ -138,7 +138,7 @@ namespace TestAPI Assert.Equal("Select select from select", valeur.Query); Assert.Equal("Mais qui est ce commentaire", valeur.Comment); Assert.Equal(3, valeur.LessonId); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, paragraphsList); } @@ -160,7 +160,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, paragraphsList); Assert.False(paragraphsList == valeur); } @@ -205,13 +205,13 @@ namespace TestAPI public void CreateParagraphSuccess() { paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre","Le nouveau content","Les infos","La requête requêtante","Commentaires",2)) - .Returns(new ParagraphDTO("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + .Returns(new ParagraphDto("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); - var paragraphsResult = ParagraphsController.CreateParagraph(new ParagraphDTO("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var paragraphsResult = ParagraphsController.CreateParagraph(new ParagraphDto("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); if (paragraphsResult is CreatedResult createdObjectResult) { - ParagraphDTO valeur = createdObjectResult.Value as ParagraphDTO; + ParagraphDto valeur = createdObjectResult.Value as ParagraphDto; Assert.NotNull(valeur); Assert.Equal("Le nouveau titre", valeur.Title); @@ -228,10 +228,10 @@ namespace TestAPI public void CreateParagraphFail() { paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)) - .Returns(new ParagraphDTO("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + .Returns(new ParagraphDto("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); - var paragraphsResult = ParagraphsController.CreateParagraph(new ParagraphDTO(null, "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var paragraphsResult = ParagraphsController.CreateParagraph(new ParagraphDto(null, "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); if (paragraphsResult is BadRequestResult BDObjectResult) { @@ -244,14 +244,14 @@ namespace TestAPI [Fact] public void UpdateParagraphSuccess() { - paragraphService.Setup(x => x.UpdateParagraph(1,new ParagraphDTO(1,"Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2))) - .Returns(new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + paragraphService.Setup(x => x.UpdateParagraph(1,new ParagraphDto(1,"Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2))) + .Returns(new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); - var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); if (paragraphsResult is OkObjectResult okObjectResult) { - ParagraphDTO valeur = okObjectResult.Value as ParagraphDTO; + ParagraphDto valeur = okObjectResult.Value as ParagraphDto; Assert.NotNull(valeur); Assert.Equal("Le nouveau titre", valeur.Title); @@ -267,11 +267,11 @@ namespace TestAPI [Fact] public void UpdateParagraphFail() { - paragraphService.Setup(x => x.UpdateParagraph(1, new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2))) - .Returns(new ParagraphDTO(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + paragraphService.Setup(x => x.UpdateParagraph(1, new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2))) + .Returns(new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger()); - var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDTO(2, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); + var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDto(2, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); if (paragraphsResult is BadRequestResult BDObjectResult) { @@ -279,9 +279,9 @@ namespace TestAPI Assert.Equal(400, BDObjectResult.StatusCode); } } - private List GetParagraphsData() + private List GetParagraphsData() { - List paragraphsData = new List(4) + 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), diff --git a/API_SQLuedo/TestAPI/SuccessesUnitTest.cs b/API_SQLuedo/TestAPI/SuccessesUnitTest.cs index 1422c57..553ddc4 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> successService; + private readonly Mock> successService; public SuccessesUnitTest() { - successService = new Mock>(); + successService = new Mock>(); } @@ -38,7 +38,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetSuccessesData().ToString(), valeur.ToString()); - Assert.True(successesList.SequenceEqual(valeur as IEnumerable, new SuccessIdEqualityComparer())); + Assert.True(successesList.SequenceEqual(valeur as IEnumerable, new SuccessIdEqualityComparer())); } @@ -48,7 +48,7 @@ namespace TestAPI public void GetSuccessesListFail() { successService.Setup(x => x.GetSuccesses(1, 4, 0)) - .Returns(new List()); + .Returns(new List()); var successesController = new SuccessesController(successService.Object, new NullLogger()); var successesResult = successesController.GetSuccesses(2, 3, 0); @@ -68,13 +68,13 @@ namespace TestAPI { var successesList = GetSuccessesData(); successService.Setup(x => x.GetSuccessesByInquiryId(1)) - .Returns(new List { successesList[0], successesList[1] }); + .Returns(new List { successesList[0], successesList[1] }); var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByInquiryId(1); if (sucessesResult is OkObjectResult okObjectResult) { - List valeur = okObjectResult.Value as List; + List valeur = okObjectResult.Value as List; Assert.NotNull(valeur); Assert.Equal(0, valeur[0].UserId); @@ -90,7 +90,7 @@ namespace TestAPI Assert.False(valeur.Equals(new object())); Assert.False(valeur.Equals(null)); Assert.True(valeur.Equals(valeur)); - Assert.IsType(valeur[0]); + Assert.IsType(valeur[0]); Assert.Contains(valeur[1], successesList); } @@ -101,7 +101,7 @@ namespace TestAPI { var successesList = GetSuccessesData(); successService.Setup(x => x.GetSuccessesByInquiryId(1)) - .Returns(new List { successesList[0], successesList[1] }); + .Returns(new List { successesList[0], successesList[1] }); var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByInquiryId(100); @@ -110,7 +110,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, successesList); } @@ -122,13 +122,13 @@ namespace TestAPI { var successesList = GetSuccessesData(); successService.Setup(x => x.GetSuccessesByUserId(2)) - .Returns(new List { successesList[2], successesList[3] }); + .Returns(new List { successesList[2], successesList[3] }); var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByUserId(2); if (sucessesResult is OkObjectResult okObjectResult) { - List valeur = okObjectResult.Value as List; + List valeur = okObjectResult.Value as List; Assert.NotNull(valeur); Assert.Equal(2, valeur[0].UserId); @@ -142,7 +142,7 @@ namespace TestAPI Assert.Equal(valeur[1].GetHashCode(), successesList[3].GetHashCode()); Assert.True(valeur[1].Equals(successesList[3])); Assert.False(valeur.Equals(new object())); - Assert.IsType(valeur[0]); + Assert.IsType(valeur[0]); Assert.Contains(valeur[1], successesList); } @@ -153,7 +153,7 @@ namespace TestAPI { var successesList = GetSuccessesData(); successService.Setup(x => x.GetSuccessesByUserId(2)) - .Returns(new List { successesList[2], successesList[3] }); + .Returns(new List { successesList[2], successesList[3] }); var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); var sucessesResult = SuccessesController.GetSuccessByUserId(200); @@ -162,7 +162,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, successesList); } @@ -208,13 +208,13 @@ namespace TestAPI public void CreateSuccessSuccess() { successService.Setup(x => x.CreateSuccess(8,8,true)) - .Returns(new SuccessDTO(8,8,true)); + .Returns(new SuccessDto(8,8,true)); var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); - var successesResult = SuccessesController.CreateSuccess(new SuccessDTO(8,8,true)); + var successesResult = SuccessesController.CreateSuccess(new SuccessDto(8,8,true)); if (successesResult is CreatedResult createdObjectResult) { - SuccessDTO valeur = createdObjectResult.Value as SuccessDTO; + SuccessDto valeur = createdObjectResult.Value as SuccessDto; Assert.NotNull(valeur); Assert.Equal(8, valeur.UserId); @@ -228,10 +228,10 @@ namespace TestAPI public void CreateSuccessFail() { successService.Setup(x => x.CreateSuccess(8, 8, true)) - .Returns(new SuccessDTO(8, 8, true)); + .Returns(new SuccessDto(8, 8, true)); var SuccessesController = new SuccessesController(successService.Object, new NullLogger()); - var successesResult = SuccessesController.CreateSuccess(new SuccessDTO(882, 818, true)); + var successesResult = SuccessesController.CreateSuccess(new SuccessDto(882, 818, true)); if (successesResult is BadRequestResult BDObjectResult) { @@ -245,14 +245,14 @@ namespace TestAPI [Fact] public void UpdateSuccessSuccess() { - successService.Setup(x => x.UpdateSuccess(1,1,new SuccessDTO(1,1,true))) - .Returns(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(successService.Object, new NullLogger()); - var successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDTO(1, 1, true)); + var successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDto(1, 1, true)); if (successesResult is OkObjectResult okObjectResult) { - SuccessDTO valeur = okObjectResult.Value as SuccessDTO; + SuccessDto valeur = okObjectResult.Value as SuccessDto; Assert.NotNull(valeur); Assert.Equal(1, valeur.UserId); @@ -265,11 +265,11 @@ namespace TestAPI [Fact] public void UpdateSuccessFail() { - successService.Setup(x => x.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true))) - .Returns(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(successService.Object, new NullLogger()); - var successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDTO(1, 2, true)); + var successesResult = SuccessesController.UpdateSuccess(1, 1, new SuccessDto(1, 2, true)); if (successesResult is BadRequestResult BDObjectResult) { @@ -281,9 +281,9 @@ namespace TestAPI - private List GetSuccessesData() + private List GetSuccessesData() { - List successesData = new List(4) + List successesData = new List(4) { new (0,1,true), new (1,1,true), diff --git a/API_SQLuedo/TestAPI/UserUnitTest.cs b/API_SQLuedo/TestAPI/UserUnitTest.cs index c4e8311..18ef7b0 100644 --- a/API_SQLuedo/TestAPI/UserUnitTest.cs +++ b/API_SQLuedo/TestAPI/UserUnitTest.cs @@ -16,10 +16,10 @@ namespace TestAPI { public class UserUnitTest { - private readonly Mock> userService; + private readonly Mock> userService; public UserUnitTest() { - userService = new Mock>(); + userService = new Mock>(); } [Fact] @@ -38,7 +38,7 @@ namespace TestAPI Assert.NotNull(valeur); Assert.Equal(GetUsersData().ToString(), valeur.ToString()); - Assert.True(userList.SequenceEqual(valeur as IEnumerable,new UserIdEqualityComparer())); + Assert.True(userList.SequenceEqual(valeur as IEnumerable,new UserIdEqualityComparer())); } @@ -48,7 +48,7 @@ namespace TestAPI public void GetUserListFail() { userService.Setup(x => x.GetUsers(1, 4,0)) - .Returns(new List()); + .Returns(new List()); var UsersController = new UsersController(new NullLogger(), userService.Object); var userResult = UsersController.GetUsers(2,3, 0); @@ -74,13 +74,13 @@ namespace TestAPI var userResult = UsersController.GetUserById(1); if (userResult is OkObjectResult okObjectResult) { - UserDTO valeur = okObjectResult.Value as UserDTO; + UserDto valeur = okObjectResult.Value as UserDto; Assert.NotNull(valeur); Assert.Equal("Leuser",valeur.Username); Assert.Equal("motdepasse", valeur.Password); Assert.Equal("deuxadresse@gmail.com", valeur.Email); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, userList); } @@ -100,7 +100,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, userList); } @@ -118,10 +118,10 @@ namespace TestAPI var userResult = UsersController.GetUserByUsername("Useruser"); if (userResult is OkObjectResult okObjectResult) { - UserDTO valeur = okObjectResult.Value as UserDTO; + UserDto valeur = okObjectResult.Value as UserDto; Assert.NotNull(valeur); - Assert.IsType(valeur); + Assert.IsType(valeur); Assert.Contains(valeur, userList); Assert.Equal("adressemail@gmail.com", valeur.Email); Assert.Equal("Useruser", valeur.Username); @@ -147,7 +147,7 @@ namespace TestAPI var valeur = NFObjectResult.Value; Assert.NotNull(valeur); - Assert.IsNotType(valeur); + Assert.IsNotType(valeur); Assert.DoesNotContain(valeur, userList); Assert.False(userList == valeur); } @@ -196,13 +196,13 @@ namespace TestAPI public void CreateUserSuccess() { userService.Setup(x => x.CreateUser("Nom","Passssss","heudfk@hdye.com",true)) - .Returns(new UserDTO("Nom","Passssss", "heudfk@hdye.com",true)); + .Returns(new UserDto("Nom","Passssss", "heudfk@hdye.com",true)); var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = UsersController.CreateUser(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.CreateUser(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is CreatedResult createdObjectResult) { - UserDTO valeur = createdObjectResult.Value as UserDTO; + UserDto valeur = createdObjectResult.Value as UserDto; Assert.NotNull(valeur); Assert.Equal("Nom", valeur.Username); @@ -218,10 +218,10 @@ namespace TestAPI { var userList = GetUsersData(); userService.Setup(x => x.CreateUser("Nom", "Passssss", "heudfk@hdye.com", true)) - .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + .Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true)); var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = UsersController.CreateUser(new UserDTO(null, "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.CreateUser(new UserDto(null, "Passssss", "heudfk@hdye.com", true)); if (userResult is BadRequestResult BDObjectResult) { @@ -234,14 +234,14 @@ namespace TestAPI [Fact] public void UpdateUserSuccess() { - userService.Setup(x => x.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true))) - .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + userService.Setup(x => x.UpdateUser(1, new UserDto("Nom", "Passssss", "heudfk@hdye.com", true))) + .Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true)); var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = UsersController.UpdateUser(1, new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.UpdateUser(1, new UserDto("Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is OkObjectResult okObjectResult) { - UserDTO valeur = okObjectResult.Value as UserDTO; + UserDto valeur = okObjectResult.Value as UserDto; Assert.NotNull(valeur); Assert.Equal("Nom", valeur.Username); @@ -255,11 +255,11 @@ namespace TestAPI [Fact] public void UpdateUserFail() { - userService.Setup(x => x.UpdateUser(1, new UserDTO(1,"Nom", "Passssss", "heudfk@hdye.com", true))) - .Returns(new UserDTO("Nom", "Passssss", "heudfk@hdye.com", true)); + userService.Setup(x => x.UpdateUser(1, new UserDto(1,"Nom", "Passssss", "heudfk@hdye.com", true))) + .Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true)); var UsersController = new UsersController(new NullLogger(), userService.Object); - var userResult = UsersController.UpdateUser(1, new UserDTO(2,"Nom", "Passssss", "heudfk@hdye.com", true)); + var userResult = UsersController.UpdateUser(1, new UserDto(2,"Nom", "Passssss", "heudfk@hdye.com", true)); if (userResult is BadRequestResult BDObjectResult) { @@ -274,9 +274,9 @@ namespace TestAPI - private List GetUsersData() + private List GetUsersData() { - List usersData = new List(4) + List usersData = new List(4) { new ( 0, From e2d1591aea288e131bfe63d93a841eaf12416ae7 Mon Sep 17 00:00:00 2001 From: masapountz Date: Sat, 16 Mar 2024 11:27:55 +0100 Subject: [PATCH 50/50] Fin fusion UnitTests -> Master --- API_SQLuedo/TestAPI/LessonUnitTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/API_SQLuedo/TestAPI/LessonUnitTest.cs b/API_SQLuedo/TestAPI/LessonUnitTest.cs index b42c9c8..3bdb345 100644 --- a/API_SQLuedo/TestAPI/LessonUnitTest.cs +++ b/API_SQLuedo/TestAPI/LessonUnitTest.cs @@ -186,7 +186,7 @@ namespace TestAPI .Returns(true); var LessonsController = new LessonsController(lessonService.Object, new NullLogger()); - var lessonsResult = LessonsController.DeleteLesson(100); + var lessonsResult = LessonsController.DeleteLesson(100); if (lessonsResult is NotFoundObjectResult NFObjectResult) { Assert.Null(NFObjectResult.Value);