Merge entre master et modifEntities et amélioration du code
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
commit
4988a0ea26
@ -1,14 +0,0 @@
|
||||
using Dto;
|
||||
using Model.OrderCriteria;
|
||||
|
||||
namespace Shared;
|
||||
|
||||
public interface IInquiryDataService : IInquiryService<InquiryDTO>
|
||||
{
|
||||
public IEnumerable<InquiryDTO> 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);
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
using Dto;
|
||||
using Model.OrderCriteria;
|
||||
|
||||
namespace Shared;
|
||||
|
||||
public interface ILessonDataService : ILessonService<LessonDTO>
|
||||
{
|
||||
public IEnumerable<LessonDTO> 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);
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
using Dto;
|
||||
using Model.OrderCriteria;
|
||||
|
||||
namespace Shared;
|
||||
|
||||
public interface IParagraphDataService : IParagraphService<ParagraphDTO>
|
||||
{
|
||||
public IEnumerable<ParagraphDTO> 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);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
using Dto;
|
||||
using Model.OrderCriteria;
|
||||
|
||||
namespace Shared;
|
||||
|
||||
public interface ISuccessDataService : ISuccessService<SuccessDTO>
|
||||
{
|
||||
public IEnumerable<SuccessDTO> 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);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
using Dto;
|
||||
using Model.OrderCriteria;
|
||||
|
||||
namespace Shared;
|
||||
|
||||
public interface IUserDataService : IUserService<UserDTO>
|
||||
{
|
||||
public IEnumerable<UserDTO> 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);
|
||||
}
|
@ -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<InquiryDTO> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
|
||||
{
|
||||
IQueryable<InquiryEntity> 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();
|
||||
}
|
||||
}
|
@ -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<LessonDTO> GetLessons(int page, int number, LessonOrderCriteria orderCriteria)
|
||||
{
|
||||
IQueryable<LessonEntity> 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;
|
||||
}
|
||||
}
|
@ -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<ParagraphDTO> GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria)
|
||||
{
|
||||
IQueryable<ParagraphEntity> 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;
|
||||
}
|
||||
}
|
@ -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<SuccessDTO> GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria)
|
||||
{
|
||||
IQueryable<SuccessEntity> 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;
|
||||
}
|
||||
}
|
@ -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<UserDTO> GetUsers(int page, int number, UserOrderCriteria orderCriteria)
|
||||
{
|
||||
IQueryable<UserEntity> 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;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
namespace TestAPI
|
||||
{
|
||||
public class UnitTest1
|
||||
{
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,281 @@
|
||||
using API.Controllers;
|
||||
using Dto;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Moq;
|
||||
using Shared;
|
||||
using TestAPI.Extensions;
|
||||
|
||||
namespace TestAPI;
|
||||
|
||||
public class UserUnitTest
|
||||
{
|
||||
private readonly Mock<IUserService<UserDto>> _userService;
|
||||
|
||||
public UserUnitTest()
|
||||
{
|
||||
_userService = new Mock<IUserService<UserDto>>();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetUserListSuccess()
|
||||
{
|
||||
var userList = GetUsersData();
|
||||
_userService.Setup(x => x.GetUsers(1, 4, 0))
|
||||
.Returns(userList);
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.GetUsers(1, 4, 0);
|
||||
|
||||
if (userResult is OkObjectResult okObjectResult)
|
||||
{
|
||||
var valeur = okObjectResult.Value;
|
||||
|
||||
Assert.NotNull(valeur);
|
||||
Assert.Equal(GetUsersData().ToString(), valeur.ToString());
|
||||
Assert.True(userList.SequenceEqual(valeur as IEnumerable<UserDto>, new UserIdEqualityComparer()));
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetUserListFail()
|
||||
{
|
||||
_userService.Setup(x => x.GetUsers(1, 4, 0))
|
||||
.Returns(new List<UserDto>());
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.GetUsers(2, 3, 0);
|
||||
|
||||
if (userResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
|
||||
|
||||
{
|
||||
Assert.IsNotType<OkObjectResult>(userResult);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void GetUserIdSuccess()
|
||||
{
|
||||
var userList = GetUsersData();
|
||||
_userService.Setup(x => x.GetUserById(1))
|
||||
.Returns(userList[1]);
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.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<UserDto>(valeur);
|
||||
Assert.Contains(valeur, userList);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetUserIdFail()
|
||||
{
|
||||
var userList = GetUsersData();
|
||||
_userService.Setup(x => x.GetUserById(1))
|
||||
.Returns(userList[1]);
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.GetUserById(100);
|
||||
if (userResult is NotFoundObjectResult nfObjectResult)
|
||||
{
|
||||
var valeur = nfObjectResult.Value;
|
||||
|
||||
Assert.NotNull(valeur);
|
||||
Assert.IsNotType<UserDto>(valeur);
|
||||
Assert.DoesNotContain(valeur, userList);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetUserUsernameSuccess()
|
||||
{
|
||||
var userList = GetUsersData();
|
||||
_userService.Setup(x => x.GetUserByUsername("Useruser"))
|
||||
.Returns(userList[0]);
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.GetUserByUsername("Useruser");
|
||||
if (userResult is OkObjectResult okObjectResult)
|
||||
{
|
||||
UserDto valeur = okObjectResult.Value as UserDto;
|
||||
|
||||
Assert.NotNull(valeur);
|
||||
Assert.IsType<UserDto>(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 usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.GetUserByUsername("GYIIieihhh");
|
||||
|
||||
if (userResult is NotFoundObjectResult nfObjectResult)
|
||||
{
|
||||
var valeur = nfObjectResult.Value;
|
||||
|
||||
Assert.NotNull(valeur);
|
||||
Assert.IsNotType<UserDto>(valeur);
|
||||
Assert.DoesNotContain(valeur, userList);
|
||||
Assert.False(userList == valeur);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DeleteUserSuccess()
|
||||
{
|
||||
_userService.Setup(x => x.DeleteUser(1))
|
||||
.Returns(true);
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.DeleteUser(1);
|
||||
if (userResult is OkObjectResult okObjectResult)
|
||||
{
|
||||
bool valeur = (bool)okObjectResult.Value;
|
||||
|
||||
Assert.True(valeur);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DeleteUserFail()
|
||||
{
|
||||
_userService.Setup(x => x.DeleteUser(1))
|
||||
.Returns(true);
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.DeleteUser(100);
|
||||
if (userResult is NotFoundObjectResult nfObjectResult)
|
||||
{
|
||||
Assert.Null(nfObjectResult.Value);
|
||||
Assert.IsNotType<bool>(nfObjectResult.Value);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateUserSuccess()
|
||||
{
|
||||
_userService.Setup(x => x.CreateUser("Nom", "Passssss", "heudfk@hdye.com", true))
|
||||
.Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true));
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.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()
|
||||
{
|
||||
GetUsersData();
|
||||
_userService.Setup(x => x.CreateUser("Nom", "Passssss", "heudfk@hdye.com", true))
|
||||
.Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true));
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.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 usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.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(1, "Nom", "Passssss", "heudfk@hdye.com", true)))
|
||||
.Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true));
|
||||
var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
|
||||
|
||||
var userResult = usersController.UpdateUser(1, new UserDto(2, "Nom", "Passssss", "heudfk@hdye.com", true));
|
||||
|
||||
if (userResult is BadRequestResult bdObjectResult)
|
||||
{
|
||||
Assert.Equal(400, bdObjectResult.StatusCode);
|
||||
}
|
||||
}
|
||||
|
||||
private List<UserDto> GetUsersData()
|
||||
{
|
||||
List<UserDto> usersData = new List<UserDto>(4)
|
||||
{
|
||||
new(
|
||||
0,
|
||||
"Useruser",
|
||||
"motdepasse",
|
||||
"adressemail@gmail.com",
|
||||
true
|
||||
),
|
||||
new
|
||||
(
|
||||
1,
|
||||
"Leuser",
|
||||
"motdepasse",
|
||||
"deuxadresse@gmail.com",
|
||||
false
|
||||
),
|
||||
new
|
||||
(
|
||||
2,
|
||||
"gygyggyg",
|
||||
"ennodlavehc",
|
||||
"thirdadress@gmail.com",
|
||||
false
|
||||
),
|
||||
new
|
||||
(
|
||||
"ferferf",
|
||||
"h_nh_78",
|
||||
"fourthadress@gmail.com",
|
||||
false
|
||||
),
|
||||
};
|
||||
return usersData;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue