Merge pull request 'modifEntities' (#40) from modifEntities into master
continuous-integration/drone/push Build is passing Details

Reviewed-on: #40
pull/41/head
Clement CHIEU 1 year ago
commit 251febe8fb

@ -10,12 +10,12 @@ public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService
{ {
public InquiryDto UpdateInquiry(int id, InquiryDto inquiry) public InquiryDto UpdateInquiry(int id, InquiryDto inquiry)
{ {
return inquiryService.UpdateInquiry(id, inquiry.FromDTOToEntity()).FromEntityToDTO(); 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(); return inquiryService.CreateInquiry(title, description, isUser).FromEntityToDto();
} }
public bool DeleteInquiry(int id) public bool DeleteInquiry(int id)
@ -26,10 +26,10 @@ public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService
public IEnumerable<InquiryDto> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria) public IEnumerable<InquiryDto> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
{ {
var inquiries = inquiryService.GetInquiries(page, number, orderCriteria); var inquiries = inquiryService.GetInquiries(page, number, orderCriteria);
return inquiries.Select(i => i.FromEntityToDTO()).ToList(); 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();
} }

@ -11,21 +11,21 @@ public class LessonDataServiceApi(ILessonService<LessonEntity> lessonService) :
public IEnumerable<LessonDto> GetLessons(int page, int number, LessonOrderCriteria orderCriteria) public IEnumerable<LessonDto> GetLessons(int page, int number, LessonOrderCriteria orderCriteria)
{ {
var lessonsEntities = lessonService.GetLessons(page, number, orderCriteria); var lessonsEntities = lessonService.GetLessons(page, number, orderCriteria);
return lessonsEntities.Select(e => e.FromEntityToDTO()).ToList(); 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 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(); 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(); 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(); lessonService.CreateLesson(title, lastPublisher, lastEdit).FromEntityToDto();
} }

@ -12,20 +12,20 @@ public class ParagraphDataServiceApi(IParagraphService<ParagraphEntity> paragrap
public IEnumerable<ParagraphDto> GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria) public IEnumerable<ParagraphDto> GetParagraphs(int page, int number, ParagraphOrderCriteria orderCriteria)
{ {
var paragraphsEntities = paragraphService.GetParagraphs(page, number, orderCriteria); var paragraphsEntities = paragraphService.GetParagraphs(page, number, orderCriteria);
return paragraphsEntities.Select(e => e.FromEntityToDTO()).ToList(); 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(); paragraphService.GetParagraphByTitle(title).FromEntityToDto();
public bool DeleteParagraph(int id) => paragraphService.DeleteParagraph(id); 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(); 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) => int lessonId) =>
paragraphService.CreateParagraph(title, content, info, query, comment, lessonId).FromEntityToDTO(); paragraphService.CreateParagraph(title, content, info, query, comment, lessonId).FromEntityToDto();
} }

@ -11,18 +11,18 @@ public class SuccessDataServiceApi(ISuccessService<SuccessEntity> sucessService)
public IEnumerable<SuccessDto> GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria) public IEnumerable<SuccessDto> GetSuccesses(int page, int number, SuccessOrderCriteria orderCriteria)
{ {
var successesEntities = sucessService.GetSuccesses(page, number, orderCriteria); var successesEntities = sucessService.GetSuccesses(page, number, orderCriteria);
return successesEntities.Select(e => e.FromEntityToDTO()).ToList(); return successesEntities.Select(e => e.FromEntityToDto()).ToList();
} }
public IEnumerable<SuccessDto> GetSuccessesByUserId(int id) => sucessService.GetSuccessesByUserId(id).Select(s => s.FromEntityToDTO()); public IEnumerable<SuccessDto> GetSuccessesByUserId(int id) => sucessService.GetSuccessesByUserId(id).Select(s => s.FromEntityToDto());
public IEnumerable<SuccessDto> GetSuccessesByInquiryId(int id) => sucessService.GetSuccessesByInquiryId(id).Select(s => s.FromEntityToDTO()); public IEnumerable<SuccessDto> GetSuccessesByInquiryId(int id) => sucessService.GetSuccessesByInquiryId(id).Select(s => s.FromEntityToDto());
public bool DeleteSuccess(int idUser, int idInquiry) => sucessService.DeleteSuccess(idUser, idInquiry); 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(); 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(); sucessService.CreateSuccess(userId, inquiryId, isFinished).FromEntityToDto();
} }

@ -11,18 +11,18 @@ public class UserDataServiceApi(IUserService<UserEntity> userService) : IUserSer
public IEnumerable<UserDto> GetUsers(int page, int number, UserOrderCriteria orderCriteria) public IEnumerable<UserDto> GetUsers(int page, int number, UserOrderCriteria orderCriteria)
{ {
var usersEntities = userService.GetUsers(page, number, orderCriteria); var usersEntities = userService.GetUsers(page, number, orderCriteria);
return usersEntities.Select(e => e.FromEntityToDTO()).ToList(); 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 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(); 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(); userService.CreateUser(username, password, email, isAdmin).FromEntityToDto();
} }

@ -64,7 +64,12 @@ public class InquiryDataService : IInquiryService<InquiryEntity>
public InquiryEntity CreateInquiry(string title, string description, bool isUser) public InquiryEntity CreateInquiry(string title, string description, bool isUser)
{ {
var newInquiryEntity = new InquiryEntity(title, description, isUser); var newInquiryEntity = new InquiryEntity
{
Title = title,
Description = description,
IsUser = isUser
};
DbContext.Inquiries.Add(newInquiryEntity); DbContext.Inquiries.Add(newInquiryEntity);
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return newInquiryEntity; return newInquiryEntity;

@ -93,7 +93,7 @@ public class LessonDataService : ILessonService<LessonEntity>
return updatingLesson; return updatingLesson;
} }
public LessonEntity CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) public LessonEntity CreateLesson(string title, string lastPublisher, DateOnly lastEdit)
{ {
var newLessonEntity = new LessonEntity() var newLessonEntity = new LessonEntity()
{ {

@ -2,7 +2,7 @@
public class BlackListDto public class BlackListDto
{ {
public string? Email { get; set; } public string Email { get; set; }
public DateOnly ExpirationDate { get; set; } public DateOnly ExpirationDate { get; set; }
public BlackListDto() {} public BlackListDto() {}

@ -3,16 +3,16 @@
public class LessonDto : IEquatable<LessonDto> public class LessonDto : IEquatable<LessonDto>
{ {
public int Id { get; } public int Id { get; }
public string? Title { get; set; } public string Title { get; set; }
public string? LastPublisher { get; set; } public string LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; } public DateOnly LastEdit { get; set; }
public ICollection<ContentLessonDto> Content { get; set; } = new List<ContentLessonDto>(); public ICollection<ContentLessonDto> Content { get; set; } = new List<ContentLessonDto>();
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; Id = id;
Title = title; Title = title;
@ -20,7 +20,7 @@ public class LessonDto : IEquatable<LessonDto>
LastEdit = lastEdit; LastEdit = lastEdit;
} }
public LessonDto(string title, string lastPublisher, DateOnly? lastEdit) public LessonDto(string title, string lastPublisher, DateOnly lastEdit)
{ {
Title = title; Title = title;
LastPublisher = lastPublisher; LastPublisher = lastPublisher;

@ -8,14 +8,4 @@ public class BlackListEntity
{ {
[Key] public string Email { get; set; } [Key] public string Email { get; set; }
public DateOnly ExpirationDate { get; set; } public DateOnly ExpirationDate { get; set; }
public BlackListEntity()
{
}
public BlackListEntity(string email, DateOnly expirationDate)
{
Email = email;
ExpirationDate = expirationDate;
}
} }

@ -7,32 +7,6 @@ public abstract class ContentLessonEntity
public int Id { get; set; } public int Id { get; set; }
public string ContentContent { get; set; } public string ContentContent { get; set; }
public string ContentTitle { get; set; } public string ContentTitle { get; set; }
[ForeignKey(nameof(Lesson))] public virtual int LessonId { get; set; } [ForeignKey(nameof(Lesson))] public int LessonId { get; set; }
public virtual LessonEntity Lesson { get; set; } = null!; public LessonEntity Lesson { get; set; } = null!;
protected ContentLessonEntity()
{
}
protected ContentLessonEntity(int id, string contentContent, string contentTitle)
{
Id = id;
ContentContent = contentContent;
ContentTitle = contentTitle;
}
protected ContentLessonEntity(int id, int lessonId, string contentContent, string contentTitle)
{
Id = id;
LessonId = lessonId;
ContentContent = contentContent;
ContentTitle = contentTitle;
}
protected ContentLessonEntity(string contentContent, string contentTitle)
{
ContentContent = contentContent;
ContentTitle = contentTitle;
}
} }

@ -5,33 +5,8 @@ namespace Entities;
public class InquiryEntity public class InquiryEntity
{ {
[Key] public int Id { get; } [Key] public int Id { get; set; }
public string Title { get; set; } public string Title { get; set; }
public string Description { get; set; } public string Description { get; set; }
public bool IsUser { get; set; } public bool IsUser { get; set; }
public InquiryEntity()
{
}
public InquiryEntity(int id)
{
Id = id;
}
public InquiryEntity(string title, string description, bool isUser)
{
Id = 0;
Title = title;
Description = description;
IsUser = isUser;
}
public InquiryEntity(int id, string title, string description, bool isUser)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
}
} }

@ -15,27 +15,4 @@ public class InquiryTableEntity
public InquiryEntity Owner { get; set; } public InquiryEntity Owner { get; set; }
public string DatabaseName { get; set; } public string DatabaseName { get; set; }
public string ConnectionInfo { get; set; } public string ConnectionInfo { get; set; }
public InquiryTableEntity()
{
}
public InquiryTableEntity(int inquiryId)
{
OwnerId = inquiryId;
}
public InquiryTableEntity(int inquiryId, string databaseName, string connectionInfo)
{
OwnerId = inquiryId;
DatabaseName = databaseName;
ConnectionInfo = connectionInfo;
}
public InquiryTableEntity(InquiryEntity owner, string databaseName, string connectionInfo)
{
Owner = owner;
DatabaseName = databaseName;
ConnectionInfo = connectionInfo;
}
} }

@ -6,27 +6,8 @@ namespace Entities;
public class LessonEntity public class LessonEntity
{ {
public int Id { get; set; } public int Id { get; set; }
public string? Title { get; set; } public string Title { get; set; }
public string? LastPublisher { get; set; } public string LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; } public DateOnly LastEdit { get; set; }
public ICollection<ContentLessonEntity> Content { get; set; } = new List<ContentLessonEntity>(); public ICollection<ContentLessonEntity> Content { get; set; } = new List<ContentLessonEntity>();
public LessonEntity()
{
}
public LessonEntity(int id, string title, string lastPublisher, DateOnly? lastEdit)
{
Id = id;
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public LessonEntity(string title, string lastPublisher, DateOnly? lastEdit)
{
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
} }

@ -13,27 +13,4 @@ public class NotepadEntity
[ForeignKey(nameof(Inquiry))] public int InquiryId { get; set; } [ForeignKey(nameof(Inquiry))] public int InquiryId { get; set; }
public InquiryEntity Inquiry { get; set; } public InquiryEntity Inquiry { get; set; }
public string Notes { get; set; } public string Notes { get; set; }
public NotepadEntity()
{
}
public NotepadEntity(int id, int userId, UserEntity user, int inquiryId, InquiryEntity inquiry, string notes)
{
Id = id;
UserId = userId;
User = user;
InquiryId = inquiryId;
Inquiry = inquiry;
Notes = notes;
}
public NotepadEntity(int userId, UserEntity user, int inquiryId, InquiryEntity inquiry, string notes)
{
UserId = userId;
User = user;
InquiryId = inquiryId;
Inquiry = inquiry;
Notes = notes;
}
} }

@ -14,28 +14,4 @@ public class ParagraphEntity : ContentLessonEntity
public string Info { get; set; } public string Info { get; set; }
public string Query { get; set; } public string Query { get; set; }
public string Comment { get; set; } public string Comment { get; set; }
public ParagraphEntity()
{
}
public ParagraphEntity(int id, string title, string content, string info, string query,
string comment, int idLesson) : base(id, idLesson, content, title)
{
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
public ParagraphEntity(string title, string content, string info, string query, string comment) : base(content,
title)
{
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
} }

@ -13,52 +13,9 @@ public class SolutionEntity
public int OwnerId { get; set; } public int OwnerId { get; set; }
public InquiryEntity? Owner { get; set; } public InquiryEntity? Owner { get; set; }
public string? MurdererFirstName { get; set; } public string MurdererFirstName { get; set; }
public string? MurdererLastName { get; set; } public string MurdererLastName { get; set; }
public string? MurderPlace { get; set; } public string MurderPlace { get; set; }
public string? MurderWeapon { get; set; } public string MurderWeapon { get; set; }
public string? Explaination { get; set; } public string Explaination { get; set; }
public SolutionEntity()
{
}
public SolutionEntity(int ownerId)
{
OwnerId = ownerId;
}
public SolutionEntity(int ownerId, InquiryEntity? owner, string murdererFirstName, string murdererLastName,
string murderPlace, string murderWeapon, string explaination)
{
OwnerId = ownerId;
Owner = owner;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explaination = explaination;
}
public SolutionEntity(InquiryEntity? owner, string murdererFirstName, string murdererLastName, string murderPlace,
string murderWeapon, string explaination)
{
Owner = owner;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explaination = explaination;
}
public SolutionEntity(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace,
string murderWeapon, string explanation)
{
OwnerId = ownerId;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explaination = explanation;
}
} }

@ -11,31 +11,4 @@ public class SuccessEntity
[ForeignKey(nameof(Inquiry))] public int InquiryId { get; set; } [ForeignKey(nameof(Inquiry))] public int InquiryId { get; set; }
public InquiryEntity Inquiry { get; set; } public InquiryEntity Inquiry { get; set; }
public bool IsFinished { get; set; } public bool IsFinished { get; set; }
public SuccessEntity()
{
}
public SuccessEntity(int userId, UserEntity user, int inquiryId, InquiryEntity inquiry, bool isFinished)
{
UserId = userId;
User = user;
InquiryId = inquiryId;
Inquiry = inquiry;
IsFinished = isFinished;
}
public SuccessEntity(int userId, int inquiryId, bool isFinished)
{
UserId = userId;
InquiryId = inquiryId;
IsFinished = isFinished;
}
public SuccessEntity(UserEntity user, InquiryEntity inquiry, bool isFinished)
{
User = user;
Inquiry = inquiry;
IsFinished = isFinished;
}
} }

@ -10,30 +10,4 @@ public class UserEntity
public string Password { get; set; } public string Password { get; set; }
public string Email { get; set; } public string Email { get; set; }
public bool IsAdmin { get; set; } public bool IsAdmin { get; set; }
public UserEntity()
{
}
public UserEntity(int id)
{
Id = id;
}
public UserEntity(int id, string username, string password, string email, bool isAdmin)
{
Id = id;
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
public UserEntity(string username, string password, string email, bool isAdmin)
{
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
} }

@ -3,12 +3,12 @@
public class Lesson public class Lesson
{ {
public int Id { get; } public int Id { get; }
public string? Title { get; set; } public string Title { get; set; }
public string? LastPublisher { get; set; } public string LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; } public DateOnly LastEdit { get; set; }
public ICollection<ContentLesson> Content { get; set; } = new List<ContentLesson>(); public ICollection<ContentLesson> Content { get; set; } = new List<ContentLesson>();
public Lesson(int id, string title, string lastPublisher, DateOnly? lastEdit) public Lesson(int id, string title, string lastPublisher, DateOnly lastEdit)
{ {
Id = id; Id = id;
Title = title; Title = title;
@ -16,7 +16,7 @@ public class Lesson
LastEdit = lastEdit; LastEdit = lastEdit;
} }
public Lesson(string title, string lastPublisher, DateOnly? lastEdit) public Lesson(string title, string lastPublisher, DateOnly lastEdit)
{ {
Title = title; Title = title;
LastPublisher = lastPublisher; LastPublisher = lastPublisher;

@ -9,5 +9,5 @@ public interface ILessonService<TLesson>
public TLesson GetLessonByTitle(string title); public TLesson GetLessonByTitle(string title);
public bool DeleteLesson(int id); public bool DeleteLesson(int id);
public TLesson UpdateLesson(int id, TLesson lesson); public TLesson UpdateLesson(int id, TLesson lesson);
public TLesson CreateLesson(string title, string lastPublisher, DateOnly? lastEdit); public TLesson CreateLesson(string title, string lastPublisher, DateOnly lastEdit);
} }

@ -6,17 +6,17 @@ namespace Shared.Mapper;
public static class BlackListMapper 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); return new BlackList(dto.Email, dto.ExpirationDate);
} }
@ -26,13 +26,21 @@ public static class BlackListMapper
return new BlackList(ent.Email, ent.ExpirationDate); 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); return new BlackListEntity
{
Email = dto.Email,
ExpirationDate = dto.ExpirationDate
};
} }
public static BlackListEntity FromModelToEntity(this BlackList model) public static BlackListEntity FromModelToEntity(this BlackList model)
{ {
return new BlackListEntity(model.Email, model.ExpirationDate); return new BlackListEntity
{
Email = model.Email,
ExpirationDate = model.ExpirationDate
};
} }
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class InquiryMapper 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); return new Inquiry(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser);
} }
@ -19,20 +19,32 @@ public static class InquiryMapper
public static InquiryEntity FromModelToEntity(this Inquiry inq) public static InquiryEntity FromModelToEntity(this Inquiry inq)
{ {
return new InquiryEntity(inq.Id, inq.Title, inq.Description, inq.IsUser); return new InquiryEntity
{
Id = inq.Id,
Title = inq.Title,
Description = inq.Description,
IsUser = inq.IsUser
};
} }
public static InquiryEntity FromDTOToEntity(this InquiryDto inqDto) public static InquiryEntity FromDtoToEntity(this InquiryDto inqDto)
{
return new InquiryEntity
{ {
return new InquiryEntity(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser); Id = inqDto.Id,
Title = inqDto.Title,
Description = inqDto.Description,
IsUser = 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);
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class InquiryTableMapper 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); return new InquiryTable(inqTDto.OwnerId, inqTDto.ConnectionInfo, inqTDto.DatabaseName);
} }
@ -16,23 +16,33 @@ public static class InquiryTableMapper
return new InquiryTable(inqTEntity.OwnerId, inqTEntity.ConnectionInfo, inqTEntity.DatabaseName); 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) public static InquiryTableEntity FromModelToEntity(this InquiryTable inqT)
{ {
return new InquiryTableEntity(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo); return new InquiryTableEntity
{
OwnerId = inqT.OwnerId,
DatabaseName = inqT.DatabaseName,
ConnectionInfo = inqT.ConnectionInfo
};
} }
public static InquiryTableEntity FromDTOToEntity(this InquiryTableDto dto) public static InquiryTableEntity FromDtoToEntity(this InquiryTableDto dto)
{
return new InquiryTableEntity
{ {
return new InquiryTableEntity(dto.OwnerId, dto.DatabaseName, dto.ConnectionInfo); OwnerId = dto.OwnerId,
DatabaseName = dto.DatabaseName,
ConnectionInfo = dto.ConnectionInfo
};
} }
} }

@ -6,27 +6,38 @@ namespace Shared.Mapper;
public static class LessonMapper 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) public static LessonEntity FromModelToEntity(this Lesson model)
{ {
return new LessonEntity(model.Id, model.Title, model.LastPublisher, model.LastEdit); return new LessonEntity
{
Id = model.Id,
Title = model.Title,
LastPublisher = model.LastPublisher,
LastEdit = model.LastEdit
};
} }
public static LessonEntity FromDtoToEntity(this LessonDto dto)
public static LessonEntity FromDTOToEntity(this LessonDto dto) {
return new LessonEntity
{ {
return new LessonEntity(dto.Id, dto.Title, dto.LastPublisher, dto.LastEdit); Id = dto.Id,
Title = dto.Title,
LastPublisher = dto.LastPublisher,
LastEdit = 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); return new Lesson(dto.Id, dto.Title, dto.LastPublisher, dto.LastEdit);
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class NotepadMapper 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); return new Notepad(dto.Id, dto.UserId, dto.InquiryId, dto.Notes);
} }
@ -16,25 +16,49 @@ public static class NotepadMapper
return new Notepad(ent.Id, ent.UserId, ent.InquiryId, ent.Notes); 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), return new NotepadEntity
dto.Notes); {
Id = dto.Id,
User = new UserEntity
{
Id = dto.UserId
},
UserId = dto.UserId,
Inquiry = new InquiryEntity
{
Id = dto.InquiryId
},
Notes = dto.Notes
};
} }
public static NotepadEntity FromModelToEntity(this Notepad not) public static NotepadEntity FromModelToEntity(this Notepad not)
{ {
return new NotepadEntity(not.Id, new UserEntity(not.UserId), not.UserId, new InquiryEntity(not.InquiryId), return new NotepadEntity
not.Notes); {
Id = not.Id,
User = new UserEntity
{
Id = not.UserId
},
UserId = not.UserId,
Inquiry = new InquiryEntity
{
Id = not.InquiryId
},
Notes = not.Notes
};
} }
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class ParagraphMapper 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); return new Paragraph(dto.ContentTitle, dto.ContentContent, dto.Info, dto.Query, dto.Comment);
} }
@ -16,27 +16,42 @@ public static class ParagraphMapper
return new Paragraph(model.ContentTitle, model.ContentContent, model.Info, model.Query, model.Comment); 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); 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); 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, return new ParagraphEntity
dto.LessonId); {
Id = dto.Id,
ContentTitle = dto.ContentTitle,
ContentContent = dto.ContentContent,
Info = dto.Info,
Query = dto.Query,
Comment = dto.Comment,
LessonId = dto.LessonId
};
} }
public static ParagraphEntity FromModelToEntity(this Paragraph model) public static ParagraphEntity FromModelToEntity(this Paragraph model)
{ {
return new ParagraphEntity(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query, return new ParagraphEntity
model.Comment, model.LessonId); {
Id = model.Id,
ContentTitle = model.ContentTitle,
ContentContent = model.ContentContent,
Info = model.Info,
Query = model.Query,
Comment = model.Comment, LessonId = model.LessonId
};
} }
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class SolutionMapper 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, return new Solution(dto.OwnerId, dto.MurdererFirstName, dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon,
dto.Explanation); dto.Explanation);
@ -18,13 +18,13 @@ public static class SolutionMapper
entity.MurderWeapon, entity.Explaination); 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); 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); entity.MurderWeapon, entity.Explaination);
@ -32,13 +32,35 @@ public static class SolutionMapper
public static SolutionEntity FromModelToEntity(this Solution model) public static SolutionEntity FromModelToEntity(this Solution model)
{ {
return new SolutionEntity(model.OwnerId, new InquiryEntity(model.OwnerId), model.MurdererFirstName, return new SolutionEntity
model.MurdererLastName, model.MurderPlace, model.MurderWeapon, model.Explanation); {
OwnerId = model.OwnerId,
Owner = new InquiryEntity
{
Id = model.OwnerId
},
MurdererFirstName = model.MurdererFirstName,
MurdererLastName = model.MurdererLastName,
MurderPlace = model.MurderPlace,
MurderWeapon = model.MurderWeapon,
Explaination = model.Explanation
};
} }
public static SolutionEntity FromDTOToEntity(this SolutionDto dto) public static SolutionEntity FromDtoToEntity(this SolutionDto dto)
{
return new SolutionEntity
{
OwnerId = dto.OwnerId,
Owner = new InquiryEntity
{ {
return new SolutionEntity(dto.OwnerId, new InquiryEntity(dto.OwnerId), dto.MurdererFirstName, Id = dto.OwnerId
dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon, dto.Explanation); },
MurdererFirstName = dto.MurdererFirstName,
MurdererLastName = dto.MurdererLastName,
MurderPlace = dto.MurderPlace,
MurderWeapon = dto.MurderWeapon,
Explaination = dto.Explanation
};
} }
} }

@ -6,7 +6,7 @@ namespace Shared.Mapper;
public static class SuccessMapper 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); return new Success(dto.UserId, dto.InquiryId, dto.IsFinished);
} }
@ -16,25 +16,49 @@ public static class SuccessMapper
return new Success(ent.UserId, ent.InquiryId, ent.IsFinished); 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, return new SuccessEntity
new InquiryEntity(dto.InquiryId), dto.IsFinished); {
UserId = dto.UserId,
User = new UserEntity
{
Id = dto.UserId
},
InquiryId = dto.InquiryId,
Inquiry = new InquiryEntity
{
Id = dto.InquiryId
},
IsFinished = dto.IsFinished
};
} }
public static SuccessEntity FromModelToEntity(this Success suc) public static SuccessEntity FromModelToEntity(this Success suc)
{ {
return new SuccessEntity(suc.UserId, new UserEntity(suc.UserId), suc.InquiryId, return new SuccessEntity
new InquiryEntity(suc.InquiryId), suc.IsFinished); {
UserId = suc.UserId,
User = new UserEntity
{
Id = suc.UserId
},
InquiryId = suc.InquiryId,
Inquiry = new InquiryEntity
{
Id = suc.InquiryId
},
IsFinished = suc.IsFinished
};
} }
} }

@ -6,14 +6,21 @@ namespace Shared.Mapper;
public static class UserMapper 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); 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); return new UserEntity
{
Id = dto.Id,
Username = dto.Username,
Password = dto.Password,
Email = dto.Email,
IsAdmin = dto.IsAdmin
};
} }
public static User FromEntityToModel(this UserEntity entity) public static User FromEntityToModel(this UserEntity entity)
@ -21,18 +28,25 @@ public static class UserMapper
return new User(entity.Id, entity.Username, entity.Password, entity.Email, entity.IsAdmin); 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) public static UserEntity FromModelToEntity(this User user)
{ {
return new UserEntity(user.Id, user.Username, user.Password, user.Email, user.IsAdmin); return new UserEntity
{
Id = user.Id,
Username = user.Username,
Password = user.Password,
Email = user.Email,
IsAdmin = user.IsAdmin
};
} }
} }

@ -16,70 +16,145 @@ public class StubbedContext : UserDbContext
{ {
base.OnModelCreating(builder); base.OnModelCreating(builder);
builder.Entity<UserEntity>().HasData( builder.Entity<UserEntity>().HasData(
new UserEntity(1, "johnny", Convert.ToBase64String(KeyDerivation.Pbkdf2( new UserEntity
{
Id = 1,
Username = "johnny",
Password = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: "motdepasse", password: "motdepasse",
salt: RandomNumberGenerator.GetBytes(128 / 8), salt: RandomNumberGenerator.GetBytes(128 / 8),
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Johnny.RATTON@etu.uca.fr", true), numBytesRequested: 256 / 8)),
new UserEntity(2, "maxime", Convert.ToBase64String(KeyDerivation.Pbkdf2( Email = "Johnny.RATTON@etu.uca.fr",
IsAdmin = true
},
new UserEntity
{
Id = 2,
Username = "maxime",
Password = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: "motdepasse", password: "motdepasse",
salt: RandomNumberGenerator.GetBytes(128 / 8), salt: RandomNumberGenerator.GetBytes(128 / 8),
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Maxime.SAPOUNTZIS@etu.uca.fr", true), numBytesRequested: 256 / 8)),
new UserEntity(3, "clement", Convert.ToBase64String(KeyDerivation.Pbkdf2( Email = "Maxime.SAPOUNTZIS@etu.uca.fr",
IsAdmin = true
},
new UserEntity
{
Id = 3,
Username = "clement",
Password = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: "motdepasse", password: "motdepasse",
salt: RandomNumberGenerator.GetBytes(128 / 8), salt: RandomNumberGenerator.GetBytes(128 / 8),
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Clement.CHIEU@etu.uca.fr", true), numBytesRequested: 256 / 8)),
new UserEntity(4, "erwan", Convert.ToBase64String(KeyDerivation.Pbkdf2( Email = "Clement.CHIEU@etu.uca.fr",
IsAdmin = true
},
new UserEntity
{
Id = 4,
Username = "erwan",
Password = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: "motdepasse", password: "motdepasse",
salt: RandomNumberGenerator.GetBytes(128 / 8), salt: RandomNumberGenerator.GetBytes(128 / 8),
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Erwan.MENAGER@etu.uca.fr", true), numBytesRequested: 256 / 8)),
new UserEntity(5, "victor", Convert.ToBase64String(KeyDerivation.Pbkdf2( Email = "Erwan.MENAGER@etu.uca.fr",
IsAdmin = true
},
new UserEntity
{
Id = 5,
Username = "victor",
Password = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: "motdepasse", password: "motdepasse",
salt: RandomNumberGenerator.GetBytes(128 / 8), salt: RandomNumberGenerator.GetBytes(128 / 8),
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); numBytesRequested: 256 / 8)),
Email = "Victor.GABORIT@etu.uca.fr",
IsAdmin = true
});
builder.Entity<InquiryTableEntity>().HasData( builder.Entity<InquiryTableEntity>().HasData(
new InquiryTableEntity(1, "Inquiry1", new InquiryTableEntity
"Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), {
new InquiryTableEntity(2, "Inquiry2", OwnerId = 1,
"Server=localhost;Database=Inquiry2;Trusted_Connection=True;MultipleActiveResultSets=true"), DatabaseName = "Inquiry1",
new InquiryTableEntity(3, "Inquiry3", ConnectionInfo =
"Server=localhost;Database=Inquiry3;Trusted_Connection=True;MultipleActiveResultSets=true")); "Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"
},
new InquiryTableEntity
{
OwnerId = 2,
DatabaseName = "Inquiry2",
ConnectionInfo =
"Server=localhost;Database=Inquiry2;Trusted_Connection=True;MultipleActiveResultSets=true"
},
new InquiryTableEntity
{
OwnerId = 3,
DatabaseName = "Inquiry3",
ConnectionInfo =
"Server=localhost;Database=Inquiry3;Trusted_Connection=True;MultipleActiveResultSets=true"
});
builder.Entity<SolutionEntity>().HasData( builder.Entity<SolutionEntity>().HasData(
new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"), new SolutionEntity
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")); OwnerId = 1,
MurdererFirstName = "Maxime",
builder.Entity<LessonEntity>().HasData( MurdererLastName = "Sapountzis",
new LessonEntity(1, "La cuisine", "Maxime", new DateOnly(2021, 10, 10)), MurderPlace = "La cuisine",
new LessonEntity(2, "La salle de bain", "Erwan", new DateOnly(2021, 10, 10)), MurderWeapon = "Le couteau",
new LessonEntity(3, "La chambre", "Johnny", new DateOnly(2021, 10, 10)), Explaination = "Parce que c'est Maxime"
new LessonEntity(4, "Le salon", "Clement", new DateOnly(2021, 10, 10))); },
new SolutionEntity
{
OwnerId = 2,
MurdererFirstName = "Johnny",
MurdererLastName = "Ratton",
MurderPlace = "La cuisine",
MurderWeapon = "Le couteau",
Explaination = "Parce que il est fou"
},
new SolutionEntity
{
OwnerId = 3,
MurdererFirstName = "Erwan",
MurdererLastName = "Menager",
MurderPlace = "La salle de bain",
MurderWeapon = "L'arachide",
Explaination = "Parce que c'est Erwan"
});
builder.Entity<ParagraphEntity>().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));
builder.Entity<InquiryEntity>().HasData( builder.Entity<InquiryEntity>().HasData(
new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true), new InquiryEntity
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)); Id = 1,
Title = "L'enquête de la carotte",
Description = "La description de l'inquiry1",
IsUser = true
},
new InquiryEntity
{
Id = 2,
Title = "L'enquête sur les orang outan",
Description = "The new description",
IsUser = false
},
new InquiryEntity
{
Id = 3,
Title = "L'enquête sur les parapluies",
Description = "Il pleuvait",
IsUser = false
});
} }
} }

@ -1,14 +1,9 @@
using Dto; using Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestAPI.Extensions namespace TestAPI.Extensions;
class InquiryIdEqualityComparer : EqualityComparer<InquiryDto>
{ {
class InquiryIdEqualityComparer : EqualityComparer<InquiryDto>
{
public override bool Equals(InquiryDto x, InquiryDto y) public override bool Equals(InquiryDto x, InquiryDto y)
{ {
return x.Id == y.Id; return x.Id == y.Id;
@ -18,5 +13,4 @@ namespace TestAPI.Extensions
{ {
return obj.Id; return obj.Id;
} }
}
} }

@ -1,14 +1,9 @@
using Dto; using Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestAPI.Extensions namespace TestAPI.Extensions;
class LessonIdEqualityComparer : EqualityComparer<LessonDto>
{ {
class LessonIdEqualityComparer : EqualityComparer<LessonDto>
{
public override bool Equals(LessonDto x, LessonDto y) public override bool Equals(LessonDto x, LessonDto y)
{ {
return x.Id == y.Id; return x.Id == y.Id;
@ -18,5 +13,4 @@ namespace TestAPI.Extensions
{ {
return obj.Id; return obj.Id;
} }
}
} }

@ -1,14 +1,9 @@
using Dto; using Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestAPI.Extensions namespace TestAPI.Extensions;
class ParagraphIdEqualityComparer : EqualityComparer<ParagraphDto>
{ {
class ParagraphIdEqualityComparer : EqualityComparer<ParagraphDto>
{
public override bool Equals(ParagraphDto x, ParagraphDto y) public override bool Equals(ParagraphDto x, ParagraphDto y)
{ {
return x.Id == y.Id; return x.Id == y.Id;
@ -18,5 +13,4 @@ namespace TestAPI.Extensions
{ {
return obj.Id; return obj.Id;
} }
}
} }

@ -1,14 +1,9 @@
using Dto; using Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestAPI.Extensions namespace TestAPI.Extensions;
class SuccessIdEqualityComparer : EqualityComparer<SuccessDto>
{ {
class SuccessIdEqualityComparer : EqualityComparer<SuccessDto>
{
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; return x.UserId == y.UserId && x.InquiryId == y.InquiryId;
@ -18,5 +13,4 @@ namespace TestAPI.Extensions
{ {
return obj.UserId * obj.InquiryId; return obj.UserId * obj.InquiryId;
} }
}
} }

@ -1,14 +1,9 @@
using System; using Dto;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dto;
namespace TestAPI.Extensions namespace TestAPI.Extensions;
class UserIdEqualityComparer : EqualityComparer<UserDto>
{ {
class UserIdEqualityComparer : EqualityComparer<UserDto>
{
public override bool Equals(UserDto x, UserDto y) public override bool Equals(UserDto x, UserDto y)
{ {
return x.Id == y.Id; return x.Id == y.Id;
@ -18,5 +13,4 @@ namespace TestAPI.Extensions
{ {
return obj.Id; return obj.Id;
} }
}
} }

@ -3,35 +3,29 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using Moq; using Moq;
using Shared; using Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using API.Controllers; using API.Controllers;
using Microsoft.Extensions.Logging;
using TestAPI.Extensions; using TestAPI.Extensions;
namespace TestAPI namespace TestAPI;
public class InquiryUnitTest
{ {
public class InquiryUnitTest private readonly Mock<IInquiryService<InquiryDto>> _inquiryService;
{
private readonly Mock<IInquiryService<InquiryDto>> inquiryService;
public InquiryUnitTest() public InquiryUnitTest()
{ {
inquiryService = new Mock<IInquiryService<InquiryDto>>(); _inquiryService = new Mock<IInquiryService<InquiryDto>>();
} }
[Fact] [Fact]
public void GetInquiriesListSuccess() public void GetInquiriesListSuccess()
{ {
var inquiryList = GetInquiriesData(); var inquiryList = GetInquiriesData();
inquiryService.Setup(x => x.GetInquiries(1, 4, 0)) _inquiryService.Setup(x => x.GetInquiries(1, 4, 0))
.Returns(inquiryList); .Returns(inquiryList);
var InquiryController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiryController = new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiriesResult = InquiryController.GetInquiries(1, 4, 0); var inquiriesResult = inquiryController.GetInquiries(1, 4, 0);
if (inquiriesResult is OkObjectResult okObjectResult) if (inquiriesResult is OkObjectResult okObjectResult)
{ {
@ -40,43 +34,34 @@ namespace TestAPI
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal(GetInquiriesData().ToString(), valeur.ToString()); Assert.Equal(GetInquiriesData().ToString(), valeur.ToString());
Assert.True(inquiryList.SequenceEqual(valeur as IEnumerable<InquiryDto>, new InquiryIdEqualityComparer())); Assert.True(inquiryList.SequenceEqual(valeur as IEnumerable<InquiryDto>, new InquiryIdEqualityComparer()));
} }
} }
[Fact] [Fact]
public void GetInquiresListFail() public void GetInquiresListFail()
{ {
inquiryService.Setup(x => x.GetInquiries(1, 4, 0)) _inquiryService.Setup(x => x.GetInquiries(1, 4, 0))
.Returns(new List<InquiryDto>()); .Returns(new List<InquiryDto>());
var InquiryController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiryController = new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiriesResult = InquiryController.GetInquiries(2, 3, 0); var inquiriesResult = inquiryController.GetInquiries(2, 3, 0);
if (inquiriesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) if (inquiriesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
{ {
Assert.IsNotType<OkObjectResult>(inquiriesResult); Assert.IsNotType<OkObjectResult>(inquiriesResult);
} }
} }
[Fact] [Fact]
public void GetInquiryIdSuccess() public void GetInquiryIdSuccess()
{ {
var inquiryList = GetInquiriesData(); var inquiryList = GetInquiriesData();
inquiryService.Setup(x => x.GetInquiryById(1)) _inquiryService.Setup(x => x.GetInquiryById(1))
.Returns(inquiryList[1]); .Returns(inquiryList[1]);
var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>() ); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiryResult = InquiriesController.GetInquiryById(1); var inquiryResult = inquiriesController.GetInquiryById(1);
if (inquiryResult is OkObjectResult okObjectResult) if (inquiryResult is OkObjectResult okObjectResult)
{ {
InquiryDto valeur = okObjectResult.Value as InquiryDto; InquiryDto valeur = okObjectResult.Value as InquiryDto;
@ -91,40 +76,38 @@ namespace TestAPI
Assert.IsType<InquiryDto>(valeur); Assert.IsType<InquiryDto>(valeur);
Assert.Contains(valeur, inquiryList); Assert.Contains(valeur, inquiryList);
} }
} }
[Fact] [Fact]
public void GetInquiryIdFail() public void GetInquiryIdFail()
{ {
var inquiryList = GetInquiriesData(); var inquiryList = GetInquiriesData();
inquiryService.Setup(x => x.GetInquiryById(1)) _inquiryService.Setup(x => x.GetInquiryById(1))
.Returns(inquiryList[1]); .Returns(inquiryList[1]);
var InquiriesController = new InquiriesController(inquiryService.Object,new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiryResult = InquiriesController.GetInquiryById(100); var inquiryResult = inquiriesController.GetInquiryById(100);
if (inquiryResult is NotFoundObjectResult NFObjectResult) if (inquiryResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<InquiryDto>(valeur); Assert.IsNotType<InquiryDto>(valeur);
Assert.DoesNotContain(valeur, inquiryList); Assert.DoesNotContain(valeur, inquiryList);
} }
} }
[Fact] [Fact]
public void GetInquiryTitleSuccess() public void GetInquiryTitleSuccess()
{ {
var inquiryList = GetInquiriesData(); var inquiryList = GetInquiriesData();
inquiryService.Setup(x => x.GetInquiryByTitle("ZUDZU")) _inquiryService.Setup(x => x.GetInquiryByTitle("ZUDZU"))
.Returns(inquiryList[2]); .Returns(inquiryList[2]);
var InquiriesController = new InquiriesController(inquiryService.Object,new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiriesResult = InquiriesController.GetInquiryByTitle("ZUDZU"); var inquiriesResult = inquiriesController.GetInquiryByTitle("ZUDZU");
if (inquiriesResult is OkObjectResult okObjectResult) if (inquiriesResult is OkObjectResult okObjectResult)
{ {
InquiryDto valeur = okObjectResult.Value as InquiryDto; InquiryDto valeur = okObjectResult.Value as InquiryDto;
@ -137,23 +120,22 @@ namespace TestAPI
Assert.Equal(2, valeur.Id); Assert.Equal(2, valeur.Id);
Assert.False(valeur.IsUser); Assert.False(valeur.IsUser);
} }
} }
[Fact] [Fact]
public void GetInquiryTitleFail() public void GetInquiryTitleFail()
{ {
var inquiryList = GetInquiriesData(); var inquiryList = GetInquiriesData();
inquiryService.Setup(x => x.GetInquiryByTitle("ZUDZU")) _inquiryService.Setup(x => x.GetInquiryByTitle("ZUDZU"))
.Returns(inquiryList[2]); .Returns(inquiryList[2]);
var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiriesResult = InquiriesController.GetInquiryByTitle("GYIIieihhh"); var inquiriesResult = inquiriesController.GetInquiryByTitle("GYIIieihhh");
if (inquiriesResult is NotFoundObjectResult NFObjectResult) if (inquiriesResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<InquiryDto>(valeur); Assert.IsNotType<InquiryDto>(valeur);
@ -162,17 +144,13 @@ namespace TestAPI
} }
} }
[Fact] [Fact]
public void DeleteInquirySuccess() public void DeleteInquirySuccess()
{ {
inquiryService.Setup(x => x.DeleteInquiry(1)) _inquiryService.Setup(x => x.DeleteInquiry(1))
.Returns(true); .Returns(true);
var inquiriesController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiryResult = inquiriesController.DeleteInquiry(1); var inquiryResult = inquiriesController.DeleteInquiry(1);
if (inquiryResult is OkObjectResult okObjectResult) if (inquiryResult is OkObjectResult okObjectResult)
@ -181,34 +159,33 @@ namespace TestAPI
Assert.True(valeur); Assert.True(valeur);
} }
} }
[Fact] [Fact]
public void DeleteInquiryFail() public void DeleteInquiryFail()
{ {
inquiryService.Setup(x => x.DeleteInquiry(1)) _inquiryService.Setup(x => x.DeleteInquiry(1))
.Returns(true); .Returns(true);
var inquiriesController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiryResult = inquiriesController.DeleteInquiry(100); var inquiryResult = inquiriesController.DeleteInquiry(100);
if (inquiryResult is NotFoundObjectResult NFObjectResult) if (inquiryResult is NotFoundObjectResult nfObjectResult)
{ {
Assert.Null(NFObjectResult.Value); Assert.Null(nfObjectResult.Value);
Assert.IsNotType<bool>(NFObjectResult.Value); Assert.IsNotType<bool>(nfObjectResult.Value);
} }
} }
[Fact] [Fact]
public void CreateInquirySuccess() public void CreateInquirySuccess()
{ {
inquiryService.Setup(x => x.CreateInquiry("Titros","description",false)) _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<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
var inquiriesResult = InquiriesController.CreateInquiry(new InquiryDto("Titros", "description", false)); var inquiriesResult = inquiriesController.CreateInquiry(new InquiryDto("Titros", "description", false));
if (inquiriesResult is CreatedResult createdObjectResult) if (inquiriesResult is CreatedResult createdObjectResult)
{ {
InquiryDto valeur = createdObjectResult.Value as InquiryDto; InquiryDto valeur = createdObjectResult.Value as InquiryDto;
@ -219,34 +196,34 @@ namespace TestAPI
Assert.Equal("description", valeur.Description); Assert.Equal("description", valeur.Description);
Assert.False(valeur.IsUser); Assert.False(valeur.IsUser);
} }
} }
[Fact] [Fact]
public void CreateInquiryFail() public void CreateInquiryFail()
{ {
inquiryService.Setup(x => x.CreateInquiry("Titros", "description", false)) _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<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
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) if (inquiriesResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
[Fact] [Fact]
public void UpdateInquirySuccess() public void UpdateInquirySuccess()
{ {
inquiryService.Setup(x => x.UpdateInquiry(1, 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)); .Returns(new InquiryDto(1, "Passssss", "heudfk@hdye.com", true));
var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
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) if (inquiriesResult is OkObjectResult okObjectResult)
{ {
InquiryDto valeur = okObjectResult.Value as InquiryDto; InquiryDto valeur = okObjectResult.Value as InquiryDto;
@ -256,46 +233,35 @@ namespace TestAPI
Assert.Equal("heudfk@hdye.com", valeur.Description); Assert.Equal("heudfk@hdye.com", valeur.Description);
Assert.True(valeur.IsUser); Assert.True(valeur.IsUser);
} }
} }
[Fact] [Fact]
public void UpdateInquiryFail() public void UpdateInquiryFail()
{ {
inquiryService.Setup(x => x.UpdateInquiry(1, 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)); .Returns(new InquiryDto(1, "Passssss", "heudfk@hdye.com", true));
var InquiriesController = new InquiriesController(inquiryService.Object, new NullLogger<InquiriesController>()); var inquiriesController =
new InquiriesController(_inquiryService.Object, new NullLogger<InquiriesController>());
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) if (inquiriesResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
private List<InquiryDto> GetInquiriesData() private List<InquiryDto> GetInquiriesData()
{ {
List<InquiryDto> inquiriesData = new List<InquiryDto>(4) List<InquiryDto> inquiriesData = new List<InquiryDto>(4)
{ {
new (0,"titre 1","La desc",false), new(0, "titre 1", "La desc", false),
new (1,"titre 2","Description",true), new(1, "titre 2", "Description", true),
new (2,"ZUDZU","OUHHHH",false), new(2, "ZUDZU", "OUHHHH", false),
new ("titre premium","Ascendant",true), new("titre premium", "Ascendant", true),
}; };
return inquiriesData; return inquiriesData;
} }
}
} }

@ -4,33 +4,28 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using Moq; using Moq;
using Shared; using Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TestAPI.Extensions; using TestAPI.Extensions;
namespace TestAPI namespace TestAPI;
public class LessonUnitTest
{ {
public class LessonUnitTest private readonly Mock<ILessonService<LessonDto>> _lessonService;
{
private readonly Mock<ILessonService<LessonDto>> lessonService;
public LessonUnitTest() public LessonUnitTest()
{ {
lessonService = new Mock<ILessonService<LessonDto>>(); _lessonService = new Mock<ILessonService<LessonDto>>();
} }
[Fact] [Fact]
public void GetLessonsListSuccess() public void GetLessonsListSuccess()
{ {
var lessonList = GetLessonsData(); var lessonList = GetLessonsData();
lessonService.Setup(x => x.GetLessons(1, 4, 0)) _lessonService.Setup(x => x.GetLessons(1, 4, 0))
.Returns(lessonList); .Returns(lessonList);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.GetLessons(1, 4, 0); var lessonsResult = lessonsController.GetLessons(1, 4, 0);
if (lessonsResult is OkObjectResult okObjectResult) if (lessonsResult is OkObjectResult okObjectResult)
{ {
@ -39,39 +34,34 @@ namespace TestAPI
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal(GetLessonsData().ToString(), valeur.ToString()); Assert.Equal(GetLessonsData().ToString(), valeur.ToString());
Assert.True(lessonList.SequenceEqual(valeur as IEnumerable<LessonDto>, new LessonIdEqualityComparer())); Assert.True(lessonList.SequenceEqual(valeur as IEnumerable<LessonDto>, new LessonIdEqualityComparer()));
} }
} }
[Fact] [Fact]
public void GetLessonsListFail() public void GetLessonsListFail()
{ {
lessonService.Setup(x => x.GetLessons(1, 4, 0)) _lessonService.Setup(x => x.GetLessons(1, 4, 0))
.Returns(new List<LessonDto>()); .Returns(new List<LessonDto>());
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.GetLessons(2, 3, 0); var lessonsResult = lessonsController.GetLessons(2, 3, 0);
if (lessonsResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) if (lessonsResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
{ {
Assert.IsNotType<OkObjectResult>(lessonsResult); Assert.IsNotType<OkObjectResult>(lessonsResult);
} }
} }
[Fact] [Fact]
public void GetLessonIdSuccess() public void GetLessonIdSuccess()
{ {
var lessonList = GetLessonsData(); var lessonList = GetLessonsData();
lessonService.Setup(x => x.GetLessonById(1)) _lessonService.Setup(x => x.GetLessonById(1))
.Returns(lessonList[0]); .Returns(lessonList[0]);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.GetLessonById(1); var lessonsResult = lessonsController.GetLessonById(1);
if (lessonsResult is OkObjectResult okObjectResult) if (lessonsResult is OkObjectResult okObjectResult)
{ {
LessonDto valeur = okObjectResult.Value as LessonDto; LessonDto valeur = okObjectResult.Value as LessonDto;
@ -90,39 +80,36 @@ namespace TestAPI
Assert.IsType<LessonDto>(valeur); Assert.IsType<LessonDto>(valeur);
Assert.Contains(valeur, lessonList); Assert.Contains(valeur, lessonList);
} }
} }
[Fact] [Fact]
public void GetLessonIdFail() public void GetLessonIdFail()
{ {
var lessonList = GetLessonsData(); var lessonList = GetLessonsData();
lessonService.Setup(x => x.GetLessonById(1)) _lessonService.Setup(x => x.GetLessonById(1))
.Returns(lessonList[0]); .Returns(lessonList[0]);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.GetLessonById(100); var lessonsResult = lessonsController.GetLessonById(100);
if (lessonsResult is NotFoundObjectResult NFObjectResult) if (lessonsResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<LessonDto>(valeur); Assert.IsNotType<LessonDto>(valeur);
Assert.DoesNotContain(valeur, lessonList); Assert.DoesNotContain(valeur, lessonList);
} }
} }
[Fact] [Fact]
public void GetLessonTitleSuccess() public void GetLessonTitleSuccess()
{ {
var lessonList = GetLessonsData(); var lessonList = GetLessonsData();
lessonService.Setup(x => x.GetLessonByTitle("Chiant la")) _lessonService.Setup(x => x.GetLessonByTitle("Chiant la"))
.Returns(lessonList[2]); .Returns(lessonList[2]);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.GetLessonByTitle("Chiant la"); var lessonsResult = lessonsController.GetLessonByTitle("Chiant la");
if (lessonsResult is OkObjectResult okObjectResult) if (lessonsResult is OkObjectResult okObjectResult)
{ {
LessonDto valeur = okObjectResult.Value as LessonDto; LessonDto valeur = okObjectResult.Value as LessonDto;
@ -135,23 +122,21 @@ namespace TestAPI
Assert.IsType<LessonDto>(valeur); Assert.IsType<LessonDto>(valeur);
Assert.Contains(valeur, lessonList); Assert.Contains(valeur, lessonList);
} }
} }
[Fact] [Fact]
public void GetLessonTitleFail() public void GetLessonTitleFail()
{ {
var lessonList = GetLessonsData(); var lessonList = GetLessonsData();
lessonService.Setup(x => x.GetLessonByTitle("Chiant la")) _lessonService.Setup(x => x.GetLessonByTitle("Chiant la"))
.Returns(lessonList[2]); .Returns(lessonList[2]);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.GetLessonByTitle("IUHIUHU"); var lessonsResult = lessonsController.GetLessonByTitle("IUHIUHU");
if (lessonsResult is NotFoundObjectResult NFObjectResult) if (lessonsResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<LessonDto>(valeur); Assert.IsNotType<LessonDto>(valeur);
@ -160,48 +145,47 @@ namespace TestAPI
} }
} }
[Fact] [Fact]
public void DeleteLessonSuccess() public void DeleteLessonSuccess()
{ {
lessonService.Setup(x => x.DeleteLesson(1)) _lessonService.Setup(x => x.DeleteLesson(1))
.Returns(true); .Returns(true);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.DeleteLesson(1); var lessonsResult = lessonsController.DeleteLesson(1);
if (lessonsResult is OkObjectResult okObjectResult) if (lessonsResult is OkObjectResult okObjectResult)
{ {
bool valeur = (bool)okObjectResult.Value; bool valeur = (bool)okObjectResult.Value;
Assert.True(valeur); Assert.True(valeur);
} }
} }
[Fact] [Fact]
public void DeleteLessonFail() public void DeleteLessonFail()
{ {
lessonService.Setup(x => x.DeleteLesson(1)) _lessonService.Setup(x => x.DeleteLesson(1))
.Returns(true); .Returns(true);
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
var lessonsResult = LessonsController.DeleteLesson(100); var lessonsResult = lessonsController.DeleteLesson(100);
if (lessonsResult is NotFoundObjectResult NFObjectResult) if (lessonsResult is NotFoundObjectResult nfObjectResult)
{ {
Assert.Null(NFObjectResult.Value); Assert.Null(nfObjectResult.Value);
Assert.IsNotType<bool>(NFObjectResult.Value); Assert.IsNotType<bool>(nfObjectResult.Value);
} }
} }
[Fact] [Fact]
public void CreateLessonSuccess() public void CreateLessonSuccess()
{ {
lessonService.Setup(x => x.CreateLesson("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024,03,16))) _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<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
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) if (lessonsResult is CreatedResult createdObjectResult)
{ {
LessonDto valeur = createdObjectResult.Value as LessonDto; LessonDto valeur = createdObjectResult.Value as LessonDto;
@ -211,34 +195,34 @@ namespace TestAPI
Assert.Equal("Le nouvel éditeur", valeur.LastPublisher); Assert.Equal("Le nouvel éditeur", valeur.LastPublisher);
Assert.Equal(new DateOnly(2024, 03, 16), valeur.LastEdit); Assert.Equal(new DateOnly(2024, 03, 16), valeur.LastEdit);
} }
} }
[Fact] [Fact]
public void CreateLessonFail() public void CreateLessonFail()
{ {
lessonService.Setup(x => x.CreateLesson("Le nouveau titre", "Le nouvel éditeur", new DateOnly(2024, 03, 16))) _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<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
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) if (lessonsResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
[Fact] [Fact]
public void UpdateLessonSuccess() public void UpdateLessonSuccess()
{ {
lessonService.Setup(x => x.UpdateLesson(1,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))); .Returns(new LessonDto(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02)));
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
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) if (lessonsResult is OkObjectResult okObjectResult)
{ {
LessonDto valeur = okObjectResult.Value as LessonDto; LessonDto valeur = okObjectResult.Value as LessonDto;
@ -249,67 +233,35 @@ namespace TestAPI
Assert.Equal(new DateOnly(2022, 02, 02), valeur.LastEdit); Assert.Equal(new DateOnly(2022, 02, 02), valeur.LastEdit);
Assert.Equal(1, valeur.Id); Assert.Equal(1, valeur.Id);
} }
} }
[Fact] [Fact]
public void UpdateLessonFail() public void UpdateLessonFail()
{ {
lessonService.Setup(x => x.UpdateLesson(1, 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))); .Returns(new LessonDto(1, "Titre update", "Le dernier publisher", new DateOnly(2022, 02, 02)));
var LessonsController = new LessonsController(lessonService.Object, new NullLogger<LessonsController>()); var lessonsController = new LessonsController(_lessonService.Object, new NullLogger<LessonsController>());
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) if (lessonsResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
private List<LessonDto> GetLessonsData() private List<LessonDto> GetLessonsData()
{ {
List<LessonDto> lessonsData = new List<LessonDto>(4) List<LessonDto> lessonsData = new List<LessonDto>(4)
{ {
new (1,"Le titre", "Clément",new DateOnly(2024,03,10)), new(1, "Le titre", "Clément", new DateOnly(2024, 03, 10)),
new (2,"Pas titre", "Erwan",new DateOnly(2024,02,11)), new(2, "Pas titre", "Erwan", new DateOnly(2024, 02, 11)),
new (3,"Chiant la", "Une personne",new DateOnly(2012,12,25)), new(3, "Chiant la", "Une personne", new DateOnly(2012, 12, 25)),
new ("Les fleurs du mal", "Baudelaire",new DateOnly(1872,10,01)), new("Les fleurs du mal", "Baudelaire", new DateOnly(1872, 10, 01)),
}; };
return lessonsData; return lessonsData;
} }
}
} }

@ -4,34 +4,30 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using Moq; using Moq;
using Shared; using Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TestAPI.Extensions; using TestAPI.Extensions;
namespace TestAPI namespace TestAPI;
{
public class ParagraphsUnitTest
{ public class ParagraphsUnitTest
private readonly Mock<IParagraphService<ParagraphDto>> paragraphService;
{
private readonly Mock<IParagraphService<ParagraphDto>> _paragraphService;
public ParagraphsUnitTest() public ParagraphsUnitTest()
{ {
paragraphService = new Mock<IParagraphService<ParagraphDto>>(); _paragraphService = new Mock<IParagraphService<ParagraphDto>>();
} }
[Fact] [Fact]
public void GetParagraphsListSuccess() public void GetParagraphsListSuccess()
{ {
var paragraphsList = GetParagraphsData(); var paragraphsList = GetParagraphsData();
paragraphService.Setup(x => x.GetParagraphs(1, 4, 0)) _paragraphService.Setup(x => x.GetParagraphs(1, 4, 0))
.Returns(paragraphsList); .Returns(paragraphsList);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.GetParagraphs(1, 4, 0); var paragraphsResult = paragraphsController.GetParagraphs(1, 4, 0);
if (paragraphsResult is OkObjectResult okObjectResult) if (paragraphsResult is OkObjectResult okObjectResult)
{ {
@ -39,41 +35,38 @@ namespace TestAPI
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal(GetParagraphsData().ToString(), valeur.ToString()); Assert.Equal(GetParagraphsData().ToString(), valeur.ToString());
Assert.True(paragraphsList.SequenceEqual(valeur as IEnumerable<ParagraphDto>, new ParagraphIdEqualityComparer())); Assert.True(paragraphsList.SequenceEqual(valeur as IEnumerable<ParagraphDto>,
new ParagraphIdEqualityComparer()));
} }
} }
[Fact] [Fact]
public void GetParagraphsListFail() public void GetParagraphsListFail()
{ {
paragraphService.Setup(x => x.GetParagraphs(1, 4, 0)) _paragraphService.Setup(x => x.GetParagraphs(1, 4, 0))
.Returns(new List<ParagraphDto>()); .Returns(new List<ParagraphDto>());
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.GetParagraphs(1, 4, 0); var paragraphsResult = paragraphsController.GetParagraphs(1, 4, 0);
if (paragraphsResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) if (paragraphsResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
{ {
Assert.IsNotType<OkObjectResult>(paragraphsResult); Assert.IsNotType<OkObjectResult>(paragraphsResult);
} }
} }
[Fact] [Fact]
public void GetParagraphIdSuccess() public void GetParagraphIdSuccess()
{ {
var paragraphsList = GetParagraphsData(); var paragraphsList = GetParagraphsData();
paragraphService.Setup(x => x.GetParagraphById(1)) _paragraphService.Setup(x => x.GetParagraphById(1))
.Returns(paragraphsList[1]); .Returns(paragraphsList[1]);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.GetParagraphById(1); var paragraphsResult = paragraphsController.GetParagraphById(1);
if (paragraphsResult is OkObjectResult okObjectResult) if (paragraphsResult is OkObjectResult okObjectResult)
{ {
ParagraphDto valeur = okObjectResult.Value as ParagraphDto; ParagraphDto valeur = okObjectResult.Value as ParagraphDto;
@ -94,39 +87,38 @@ namespace TestAPI
Assert.IsType<ParagraphDto>(valeur); Assert.IsType<ParagraphDto>(valeur);
Assert.Contains(valeur, paragraphsList); Assert.Contains(valeur, paragraphsList);
} }
} }
[Fact] [Fact]
public void GetParagraphIdFail() public void GetParagraphIdFail()
{ {
var paragraphsList = GetParagraphsData(); var paragraphsList = GetParagraphsData();
paragraphService.Setup(x => x.GetParagraphById(1)) _paragraphService.Setup(x => x.GetParagraphById(1))
.Returns(paragraphsList[1]); .Returns(paragraphsList[1]);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.GetParagraphById(100); var paragraphsResult = paragraphsController.GetParagraphById(100);
if (paragraphsResult is NotFoundObjectResult NFObjectResult) if (paragraphsResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<ParagraphDto>(valeur); Assert.IsNotType<ParagraphDto>(valeur);
Assert.DoesNotContain(valeur, paragraphsList); Assert.DoesNotContain(valeur, paragraphsList);
} }
} }
[Fact] [Fact]
public void GetParagraphTitleSuccess() public void GetParagraphTitleSuccess()
{ {
var paragraphsList = GetParagraphsData(); var paragraphsList = GetParagraphsData();
paragraphService.Setup(x => x.GetParagraphByTitle("Title")) _paragraphService.Setup(x => x.GetParagraphByTitle("Title"))
.Returns(paragraphsList[3]); .Returns(paragraphsList[3]);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.GetParagraphByTitle("Title"); var paragraphsResult = paragraphsController.GetParagraphByTitle("Title");
if (paragraphsResult is OkObjectResult okObjectResult) if (paragraphsResult is OkObjectResult okObjectResult)
{ {
ParagraphDto valeur = okObjectResult.Value as ParagraphDto; ParagraphDto valeur = okObjectResult.Value as ParagraphDto;
@ -141,23 +133,22 @@ namespace TestAPI
Assert.IsType<ParagraphDto>(valeur); Assert.IsType<ParagraphDto>(valeur);
Assert.Contains(valeur, paragraphsList); Assert.Contains(valeur, paragraphsList);
} }
} }
[Fact] [Fact]
public void GetParagraphTitleFail() public void GetParagraphTitleFail()
{ {
var paragraphsList = GetParagraphsData(); var paragraphsList = GetParagraphsData();
paragraphService.Setup(x => x.GetParagraphByTitle("Title")) _paragraphService.Setup(x => x.GetParagraphByTitle("Title"))
.Returns(paragraphsList[3]); .Returns(paragraphsList[3]);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.GetParagraphByTitle("IUHIUHU"); var paragraphsResult = paragraphsController.GetParagraphByTitle("IUHIUHU");
if (paragraphsResult is NotFoundObjectResult NFObjectResult) if (paragraphsResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<ParagraphDto>(valeur); Assert.IsNotType<ParagraphDto>(valeur);
@ -166,49 +157,51 @@ namespace TestAPI
} }
} }
[Fact] [Fact]
public void DeleteParagraphSuccess() public void DeleteParagraphSuccess()
{ {
paragraphService.Setup(x => x.DeleteParagraph(1)) _paragraphService.Setup(x => x.DeleteParagraph(1))
.Returns(true); .Returns(true);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.DeleteParagraph(1); var paragraphsResult = paragraphsController.DeleteParagraph(1);
if (paragraphsResult is OkObjectResult okObjectResult) if (paragraphsResult is OkObjectResult okObjectResult)
{ {
bool valeur = (bool)okObjectResult.Value; bool valeur = (bool)okObjectResult.Value;
Assert.True(valeur); Assert.True(valeur);
} }
} }
[Fact] [Fact]
public void DeleteParagraphFail() public void DeleteParagraphFail()
{ {
paragraphService.Setup(x => x.DeleteParagraph(1)) _paragraphService.Setup(x => x.DeleteParagraph(1))
.Returns(true); .Returns(true);
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
var paragraphsResult = ParagraphsController.DeleteParagraph(100); var paragraphsResult = paragraphsController.DeleteParagraph(100);
if (paragraphsResult is NotFoundObjectResult NFObjectResult) if (paragraphsResult is NotFoundObjectResult nfObjectResult)
{ {
Assert.Null(NFObjectResult.Value); Assert.Null(nfObjectResult.Value);
Assert.IsNotType<bool>(NFObjectResult.Value); Assert.IsNotType<bool>(nfObjectResult.Value);
} }
} }
[Fact] [Fact]
public void CreateParagraphSuccess() public void CreateParagraphSuccess()
{ {
paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre","Le nouveau content","Les infos","La requête requêtante","Commentaires",2)) _paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre", "Le nouveau content", "Les infos",
.Returns(new ParagraphDto("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); "La requête requêtante", "Commentaires", 2))
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); .Returns(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)); var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
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) if (paragraphsResult is CreatedResult createdObjectResult)
{ {
ParagraphDto valeur = createdObjectResult.Value as ParagraphDto; ParagraphDto valeur = createdObjectResult.Value as ParagraphDto;
@ -221,34 +214,41 @@ namespace TestAPI
Assert.Equal("Commentaires", valeur.Comment); Assert.Equal("Commentaires", valeur.Comment);
Assert.Equal(2, valeur.LessonId); Assert.Equal(2, valeur.LessonId);
} }
} }
[Fact] [Fact]
public void CreateParagraphFail() public void CreateParagraphFail()
{ {
paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)) _paragraphService.Setup(x => x.CreateParagraph("Le nouveau titre", "Le nouveau content", "Les infos",
.Returns(new ParagraphDto("Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); "La requête requêtante", "Commentaires", 2))
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); .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<ParagraphsController>());
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) if (paragraphsResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
[Fact] [Fact]
public void UpdateParagraphSuccess() 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))) _paragraphService.Setup(x => x.UpdateParagraph(1,
.Returns(new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante",
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); "Commentaires", 2)))
.Returns(new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante",
var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); "Commentaires", 2));
var paragraphsController =
new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
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) if (paragraphsResult is OkObjectResult okObjectResult)
{ {
ParagraphDto valeur = okObjectResult.Value as ParagraphDto; ParagraphDto valeur = okObjectResult.Value as ParagraphDto;
@ -261,41 +261,40 @@ namespace TestAPI
Assert.Equal("Commentaires", valeur.Comment); Assert.Equal("Commentaires", valeur.Comment);
Assert.Equal(2, valeur.LessonId); Assert.Equal(2, valeur.LessonId);
} }
} }
[Fact] [Fact]
public void UpdateParagraphFail() 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))) _paragraphService.Setup(x => x.UpdateParagraph(1,
.Returns(new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante",
var ParagraphsController = new ParagraphsController(paragraphService.Object, new NullLogger<ParagraphsController>()); "Commentaires", 2)))
.Returns(new ParagraphDto(1, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante",
var paragraphsResult = ParagraphsController.UpdateParagraph(1, new ParagraphDto(2, "Le nouveau titre", "Le nouveau content", "Les infos", "La requête requêtante", "Commentaires", 2)); "Commentaires", 2));
var paragraphsController =
if (paragraphsResult is BadRequestResult BDObjectResult) new ParagraphsController(_paragraphService.Object, new NullLogger<ParagraphsController>());
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);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
private List<ParagraphDto> GetParagraphsData() private List<ParagraphDto> GetParagraphsData()
{ {
List<ParagraphDto> paragraphsData = new List<ParagraphDto>(4) List<ParagraphDto> paragraphsData = new List<ParagraphDto>(4)
{ {
new (0,"Titre 1","Le contenu","Les infos de ce paragraphes sont ","Select * from C#","Le commentaire",1), new(0, "Titre 1", "Le contenu", "Les infos de ce paragraphes sont ", "Select * from C#", "Le commentaire",
new (1,"Le titre","pas contenu","Pas d'infos ici","Delete * from Earth","Miam",2), 1),
new (2,"Ceci n'est pas un titre","Certainement hmmm","OUOOOOO ","Autocommit = {true}","First",1), new(1, "Le titre", "pas contenu", "Pas d'infos ici", "Delete * from Earth", "Miam", 2),
new ("Title","Content","Je ne parle pas anglais","Select select from select","Mais qui est ce commentaire",3), 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; return paragraphsData;
} }
}
} }

@ -4,31 +4,27 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using Moq; using Moq;
using Shared; using Shared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TestAPI.Extensions; using TestAPI.Extensions;
namespace TestAPI namespace TestAPI;
public class SuccessesUnitTest
{ {
public class SuccessesUnitTest private readonly Mock<ISuccessService<SuccessDto>> _successService;
{
private readonly Mock<ISuccessService<SuccessDto>> successService;
public SuccessesUnitTest() public SuccessesUnitTest()
{ {
successService = new Mock<ISuccessService<SuccessDto>>(); _successService = new Mock<ISuccessService<SuccessDto>>();
} }
[Fact] [Fact]
public void GetSuccessesListSuccess() public void GetSuccessesListSuccess()
{ {
var successesList = GetSuccessesData(); var successesList = GetSuccessesData();
successService.Setup(x => x.GetSuccesses(1, 4, 0)) _successService.Setup(x => x.GetSuccesses(1, 4, 0))
.Returns(successesList); .Returns(successesList);
var successesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var successesResult = successesController.GetSuccesses(1, 4, 0); var successesResult = successesController.GetSuccesses(1, 4, 0);
@ -38,40 +34,37 @@ namespace TestAPI
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal(GetSuccessesData().ToString(), valeur.ToString()); Assert.Equal(GetSuccessesData().ToString(), valeur.ToString());
Assert.True(successesList.SequenceEqual(valeur as IEnumerable<SuccessDto>, new SuccessIdEqualityComparer())); Assert.True(successesList.SequenceEqual(valeur as IEnumerable<SuccessDto>,
new SuccessIdEqualityComparer()));
} }
} }
[Fact] [Fact]
public void GetSuccessesListFail() public void GetSuccessesListFail()
{ {
successService.Setup(x => x.GetSuccesses(1, 4, 0)) _successService.Setup(x => x.GetSuccesses(1, 4, 0))
.Returns(new List<SuccessDto>()); .Returns(new List<SuccessDto>());
var successesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var successesResult = successesController.GetSuccesses(2, 3, 0); var successesResult = successesController.GetSuccesses(2, 3, 0);
if (successesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) if (successesResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
{ {
Assert.IsNotType<OkObjectResult>(successesResult); Assert.IsNotType<OkObjectResult>(successesResult);
} }
} }
[Fact] [Fact]
public void GetSuccessInquiryIdSuccess() public void GetSuccessInquiryIdSuccess()
{ {
var successesList = GetSuccessesData(); var successesList = GetSuccessesData();
successService.Setup(x => x.GetSuccessesByInquiryId(1)) _successService.Setup(x => x.GetSuccessesByInquiryId(1))
.Returns(new List<SuccessDto> { successesList[0], successesList[1] }); .Returns(new List<SuccessDto> { successesList[0], successesList[1] });
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var sucessesResult = SuccessesController.GetSuccessByInquiryId(1); var sucessesResult = successesController.GetSuccessByInquiryId(1);
if (sucessesResult is OkObjectResult okObjectResult) if (sucessesResult is OkObjectResult okObjectResult)
{ {
List<SuccessDto> valeur = okObjectResult.Value as List<SuccessDto>; List<SuccessDto> valeur = okObjectResult.Value as List<SuccessDto>;
@ -93,39 +86,38 @@ namespace TestAPI
Assert.IsType<SuccessDto>(valeur[0]); Assert.IsType<SuccessDto>(valeur[0]);
Assert.Contains(valeur[1], successesList); Assert.Contains(valeur[1], successesList);
} }
} }
[Fact] [Fact]
public void GetSuccessInquiryIdFail() public void GetSuccessInquiryIdFail()
{ {
var successesList = GetSuccessesData(); var successesList = GetSuccessesData();
successService.Setup(x => x.GetSuccessesByInquiryId(1)) _successService.Setup(x => x.GetSuccessesByInquiryId(1))
.Returns(new List<SuccessDto> { successesList[0], successesList[1] }); .Returns(new List<SuccessDto> { successesList[0], successesList[1] });
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var sucessesResult = SuccessesController.GetSuccessByInquiryId(100); var sucessesResult = successesController.GetSuccessByInquiryId(100);
if (sucessesResult is NotFoundObjectResult NFObjectResult) if (sucessesResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<SuccessDto>(valeur); Assert.IsNotType<SuccessDto>(valeur);
Assert.DoesNotContain(valeur, successesList); Assert.DoesNotContain(valeur, successesList);
} }
} }
[Fact] [Fact]
public void GetSuccessUserIdSuccess() public void GetSuccessUserIdSuccess()
{ {
var successesList = GetSuccessesData(); var successesList = GetSuccessesData();
successService.Setup(x => x.GetSuccessesByUserId(2)) _successService.Setup(x => x.GetSuccessesByUserId(2))
.Returns(new List<SuccessDto> { successesList[2], successesList[3] }); .Returns(new List<SuccessDto> { successesList[2], successesList[3] });
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var sucessesResult = SuccessesController.GetSuccessByUserId(2); var sucessesResult = successesController.GetSuccessByUserId(2);
if (sucessesResult is OkObjectResult okObjectResult) if (sucessesResult is OkObjectResult okObjectResult)
{ {
List<SuccessDto> valeur = okObjectResult.Value as List<SuccessDto>; List<SuccessDto> valeur = okObjectResult.Value as List<SuccessDto>;
@ -145,73 +137,70 @@ namespace TestAPI
Assert.IsType<SuccessDto>(valeur[0]); Assert.IsType<SuccessDto>(valeur[0]);
Assert.Contains(valeur[1], successesList); Assert.Contains(valeur[1], successesList);
} }
} }
[Fact] [Fact]
public void GetSuccessUserIdFail() public void GetSuccessUserIdFail()
{ {
var successesList = GetSuccessesData(); var successesList = GetSuccessesData();
successService.Setup(x => x.GetSuccessesByUserId(2)) _successService.Setup(x => x.GetSuccessesByUserId(2))
.Returns(new List<SuccessDto> { successesList[2], successesList[3] }); .Returns(new List<SuccessDto> { successesList[2], successesList[3] });
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var sucessesResult = SuccessesController.GetSuccessByUserId(200); var sucessesResult = successesController.GetSuccessByUserId(200);
if (sucessesResult is NotFoundObjectResult NFObjectResult) if (sucessesResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<SuccessDto>(valeur); Assert.IsNotType<SuccessDto>(valeur);
Assert.DoesNotContain(valeur, successesList); Assert.DoesNotContain(valeur, successesList);
} }
} }
[Fact] [Fact]
public void DeleteSuccessSuccess() public void DeleteSuccessSuccess()
{ {
successService.Setup(x => x.DeleteSuccess(1,1)) _successService.Setup(x => x.DeleteSuccess(1, 1))
.Returns(true); .Returns(true);
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var sucessesResult = SuccessesController.DeleteSuccess(1,1); var sucessesResult = successesController.DeleteSuccess(1, 1);
if (sucessesResult is OkObjectResult okObjectResult) if (sucessesResult is OkObjectResult okObjectResult)
{ {
bool valeur = (bool)okObjectResult.Value; bool valeur = (bool)okObjectResult.Value;
Assert.True(valeur); Assert.True(valeur);
} }
} }
[Fact] [Fact]
public void DeleteSuccessFail() public void DeleteSuccessFail()
{ {
successService.Setup(x => x.DeleteSuccess(1, 1)) _successService.Setup(x => x.DeleteSuccess(1, 1))
.Returns(true); .Returns(true);
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var sucessesResult = SuccessesController.DeleteSuccess(100, 278); var sucessesResult = successesController.DeleteSuccess(100, 278);
if (sucessesResult is NotFoundObjectResult NFObjectResult) if (sucessesResult is NotFoundObjectResult nfObjectResult)
{ {
Assert.Null(NFObjectResult.Value); Assert.Null(nfObjectResult.Value);
Assert.IsNotType<bool>(NFObjectResult.Value); Assert.IsNotType<bool>(nfObjectResult.Value);
} }
} }
[Fact] [Fact]
public void CreateSuccessSuccess() public void CreateSuccessSuccess()
{ {
successService.Setup(x => x.CreateSuccess(8,8,true)) _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<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var successesResult = SuccessesController.CreateSuccess(new SuccessDto(8,8,true)); var successesResult = successesController.CreateSuccess(new SuccessDto(8, 8, true));
if (successesResult is CreatedResult createdObjectResult) if (successesResult is CreatedResult createdObjectResult)
{ {
SuccessDto valeur = createdObjectResult.Value as SuccessDto; SuccessDto valeur = createdObjectResult.Value as SuccessDto;
@ -221,35 +210,33 @@ namespace TestAPI
Assert.Equal(8, valeur.InquiryId); Assert.Equal(8, valeur.InquiryId);
Assert.True(valeur.IsFinished); Assert.True(valeur.IsFinished);
} }
} }
[Fact] [Fact]
public void CreateSuccessFail() public void CreateSuccessFail()
{ {
successService.Setup(x => x.CreateSuccess(8, 8, true)) _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<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
var successesResult = SuccessesController.CreateSuccess(new SuccessDto(882, 818, true)); var successesResult = successesController.CreateSuccess(new SuccessDto(882, 818, true));
if (successesResult is BadRequestResult BDObjectResult) if (successesResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
[Fact] [Fact]
public void UpdateSuccessSuccess() public void UpdateSuccessSuccess()
{ {
successService.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)); .Returns(new SuccessDto(1, 1, true));
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
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) if (successesResult is OkObjectResult okObjectResult)
{ {
SuccessDto valeur = okObjectResult.Value as SuccessDto; SuccessDto valeur = okObjectResult.Value as SuccessDto;
@ -259,38 +246,33 @@ namespace TestAPI
Assert.Equal(1, valeur.InquiryId); Assert.Equal(1, valeur.InquiryId);
Assert.True(valeur.IsFinished); Assert.True(valeur.IsFinished);
} }
} }
[Fact] [Fact]
public void UpdateSuccessFail() public void UpdateSuccessFail()
{ {
successService.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)); .Returns(new SuccessDto(1, 2, true));
var SuccessesController = new SuccessesController(successService.Object, new NullLogger<SuccessesController>()); var successesController =
new SuccessesController(_successService.Object, new NullLogger<SuccessesController>());
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) if (successesResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
private List<SuccessDto> GetSuccessesData() private List<SuccessDto> GetSuccessesData()
{ {
List<SuccessDto> successesData = new List<SuccessDto>(4) List<SuccessDto> successesData = new List<SuccessDto>(4)
{ {
new (0,1,true), new(0, 1, true),
new (1,1,true), new(1, 1, true),
new (2,3,true), new(2, 3, true),
new (2,4,true), new(2, 4, true),
}; };
return successesData; return successesData;
} }
}
} }

@ -1,36 +1,31 @@
using System.Collections;
using API.Controllers; using API.Controllers;
using API.Service;
using DbContextLib;
using DbDataManager.Service;
using Dto; using Dto;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using Moq; using Moq;
using Shared; using Shared;
using TestAPI.Extensions; using TestAPI.Extensions;
namespace TestAPI namespace TestAPI;
public class UserUnitTest
{ {
public class UserUnitTest private readonly Mock<IUserService<UserDto>> _userService;
{
private readonly Mock<IUserService<UserDto>> userService;
public UserUnitTest() public UserUnitTest()
{ {
userService = new Mock<IUserService<UserDto>>(); _userService = new Mock<IUserService<UserDto>>();
} }
[Fact] [Fact]
public void GetUserListSuccess() public void GetUserListSuccess()
{ {
var userList = GetUsersData(); var userList = GetUsersData();
userService.Setup(x => x.GetUsers(1 ,4,0)) _userService.Setup(x => x.GetUsers(1, 4, 0))
.Returns(userList); .Returns(userList);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.GetUsers(1,4, 0); var userResult = usersController.GetUsers(1, 4, 0);
if (userResult is OkObjectResult okObjectResult) if (userResult is OkObjectResult okObjectResult)
{ {
@ -38,28 +33,24 @@ namespace TestAPI
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal(GetUsersData().ToString(), valeur.ToString()); Assert.Equal(GetUsersData().ToString(), valeur.ToString());
Assert.True(userList.SequenceEqual(valeur as IEnumerable<UserDto>,new UserIdEqualityComparer())); Assert.True(userList.SequenceEqual(valeur as IEnumerable<UserDto>, new UserIdEqualityComparer()));
} }
} }
[Fact] [Fact]
public void GetUserListFail() public void GetUserListFail()
{ {
userService.Setup(x => x.GetUsers(1, 4,0)) _userService.Setup(x => x.GetUsers(1, 4, 0))
.Returns(new List<UserDto>()); .Returns(new List<UserDto>());
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.GetUsers(2,3, 0); var userResult = usersController.GetUsers(2, 3, 0);
if (userResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204) if (userResult is StatusCodeResult statusCodeResult && statusCodeResult.StatusCode == 204)
{ {
Assert.IsNotType<OkObjectResult>(userResult); Assert.IsNotType<OkObjectResult>(userResult);
} }
} }
@ -67,55 +58,52 @@ namespace TestAPI
public void GetUserIdSuccess() public void GetUserIdSuccess()
{ {
var userList = GetUsersData(); var userList = GetUsersData();
userService.Setup(x => x.GetUserById(1)) _userService.Setup(x => x.GetUserById(1))
.Returns(userList[1]); .Returns(userList[1]);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.GetUserById(1); var userResult = usersController.GetUserById(1);
if (userResult is OkObjectResult okObjectResult) if (userResult is OkObjectResult okObjectResult)
{ {
UserDto valeur = okObjectResult.Value as UserDto; UserDto valeur = okObjectResult.Value as UserDto;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal("Leuser",valeur.Username); Assert.Equal("Leuser", valeur.Username);
Assert.Equal("motdepasse", valeur.Password); Assert.Equal("motdepasse", valeur.Password);
Assert.Equal("deuxadresse@gmail.com", valeur.Email); Assert.Equal("deuxadresse@gmail.com", valeur.Email);
Assert.IsType<UserDto>(valeur); Assert.IsType<UserDto>(valeur);
Assert.Contains(valeur, userList); Assert.Contains(valeur, userList);
} }
} }
[Fact] [Fact]
public void GetUserIdFail() public void GetUserIdFail()
{ {
var userList = GetUsersData(); var userList = GetUsersData();
userService.Setup(x => x.GetUserById(1)) _userService.Setup(x => x.GetUserById(1))
.Returns(userList[1]); .Returns(userList[1]);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.GetUserById(100); var userResult = usersController.GetUserById(100);
if (userResult is NotFoundObjectResult NFObjectResult) if (userResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<UserDto>(valeur); Assert.IsNotType<UserDto>(valeur);
Assert.DoesNotContain(valeur, userList); Assert.DoesNotContain(valeur, userList);
} }
} }
[Fact] [Fact]
public void GetUserUsernameSuccess() public void GetUserUsernameSuccess()
{ {
var userList = GetUsersData(); var userList = GetUsersData();
userService.Setup(x => x.GetUserByUsername("Useruser")) _userService.Setup(x => x.GetUserByUsername("Useruser"))
.Returns(userList[0]); .Returns(userList[0]);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.GetUserByUsername("Useruser"); var userResult = usersController.GetUserByUsername("Useruser");
if (userResult is OkObjectResult okObjectResult) if (userResult is OkObjectResult okObjectResult)
{ {
UserDto valeur = okObjectResult.Value as UserDto; UserDto valeur = okObjectResult.Value as UserDto;
@ -128,23 +116,21 @@ namespace TestAPI
Assert.Equal("motdepasse", valeur.Password); Assert.Equal("motdepasse", valeur.Password);
Assert.True(valeur.IsAdmin); Assert.True(valeur.IsAdmin);
} }
} }
[Fact] [Fact]
public void GetUserUsernameFail() public void GetUserUsernameFail()
{ {
var userList = GetUsersData(); var userList = GetUsersData();
userService.Setup(x => x.GetUserByUsername("Useruser")) _userService.Setup(x => x.GetUserByUsername("Useruser"))
.Returns(userList[0]); .Returns(userList[0]);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.GetUserByUsername("GYIIieihhh"); var userResult = usersController.GetUserByUsername("GYIIieihhh");
if (userResult is NotFoundObjectResult NFObjectResult) if (userResult is NotFoundObjectResult nfObjectResult)
{ {
var valeur = NFObjectResult.Value; var valeur = nfObjectResult.Value;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.IsNotType<UserDto>(valeur); Assert.IsNotType<UserDto>(valeur);
@ -153,92 +139,81 @@ namespace TestAPI
} }
} }
[Fact] [Fact]
public void DeleteUserSuccess() public void DeleteUserSuccess()
{ {
userService.Setup(x => x.DeleteUser(1)) _userService.Setup(x => x.DeleteUser(1))
.Returns(true); .Returns(true);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.DeleteUser(1); var userResult = usersController.DeleteUser(1);
if (userResult is OkObjectResult okObjectResult) if (userResult is OkObjectResult okObjectResult)
{ {
bool valeur = (bool)okObjectResult.Value; bool valeur = (bool)okObjectResult.Value;
Assert.True(valeur); Assert.True(valeur);
} }
} }
[Fact] [Fact]
public void DeleteUserFail() public void DeleteUserFail()
{ {
userService.Setup(x => x.DeleteUser(1)) _userService.Setup(x => x.DeleteUser(1))
.Returns(true); .Returns(true);
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _userService.Object);
var userResult = UsersController.DeleteUser(100); var userResult = usersController.DeleteUser(100);
if (userResult is NotFoundObjectResult NFObjectResult) if (userResult is NotFoundObjectResult nfObjectResult)
{ {
Assert.Null(NFObjectResult.Value); Assert.Null(nfObjectResult.Value);
Assert.IsNotType<bool>(NFObjectResult.Value); Assert.IsNotType<bool>(nfObjectResult.Value);
} }
} }
[Fact] [Fact]
public void CreateUserSuccess() public void CreateUserSuccess()
{ {
userService.Setup(x => x.CreateUser("Nom","Passssss","heudfk@hdye.com",true)) _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<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _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) if (userResult is CreatedResult createdObjectResult)
{ {
UserDto valeur = createdObjectResult.Value as UserDto; UserDto valeur = createdObjectResult.Value as UserDto;
Assert.NotNull(valeur); Assert.NotNull(valeur);
Assert.Equal("Nom", valeur.Username); Assert.Equal("Nom", valeur.Username);
Assert.Equal("Passssss",valeur.Password); Assert.Equal("Passssss", valeur.Password);
Assert.Equal("heudfk@hdye.com",valeur.Email); Assert.Equal("heudfk@hdye.com", valeur.Email);
Assert.True(valeur.IsAdmin); Assert.True(valeur.IsAdmin);
} }
} }
[Fact] [Fact]
public void CreateUserFail() public void CreateUserFail()
{ {
var userList = GetUsersData(); GetUsersData();
userService.Setup(x => x.CreateUser("Nom", "Passssss", "heudfk@hdye.com", true)) _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<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _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) if (userResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400, BDObjectResult.StatusCode);
} }
} }
[Fact] [Fact]
public void UpdateUserSuccess() public void UpdateUserSuccess()
{ {
userService.Setup(x => x.UpdateUser(1, 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)); .Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true));
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _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) if (userResult is OkObjectResult okObjectResult)
{ {
UserDto valeur = okObjectResult.Value as UserDto; UserDto valeur = okObjectResult.Value as UserDto;
@ -249,41 +224,32 @@ namespace TestAPI
Assert.Equal("heudfk@hdye.com", valeur.Email); Assert.Equal("heudfk@hdye.com", valeur.Email);
Assert.True(valeur.IsAdmin); Assert.True(valeur.IsAdmin);
} }
} }
[Fact] [Fact]
public void UpdateUserFail() public void UpdateUserFail()
{ {
userService.Setup(x => x.UpdateUser(1, new UserDto(1,"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)); .Returns(new UserDto("Nom", "Passssss", "heudfk@hdye.com", true));
var UsersController = new UsersController(new NullLogger<UsersController>(), userService.Object); var usersController = new UsersController(new NullLogger<UsersController>(), _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) if (userResult is BadRequestResult bdObjectResult)
{ {
Assert.Equal(400, bdObjectResult.StatusCode);
Assert.Equal(400,BDObjectResult.StatusCode);
} }
} }
private List<UserDto> GetUsersData() private List<UserDto> GetUsersData()
{ {
List<UserDto> usersData = new List<UserDto>(4) List<UserDto> usersData = new List<UserDto>(4)
{ {
new ( new(
0, 0,
"Useruser", "Useruser",
"motdepasse", "motdepasse",
"adressemail@gmail.com" , "adressemail@gmail.com",
true true
), ),
new new
@ -291,8 +257,7 @@ namespace TestAPI
1, 1,
"Leuser", "Leuser",
"motdepasse", "motdepasse",
"deuxadresse@gmail.com" , "deuxadresse@gmail.com",
false false
), ),
new new
@ -300,20 +265,17 @@ namespace TestAPI
2, 2,
"gygyggyg", "gygyggyg",
"ennodlavehc", "ennodlavehc",
"thirdadress@gmail.com" , "thirdadress@gmail.com",
false false
), ),
new new
( (
"ferferf", "ferferf",
"h_nh_78", "h_nh_78",
"fourthadress@gmail.com" , "fourthadress@gmail.com",
false false
), ),
}; };
return usersData; return usersData;
} }
}
} }

@ -46,12 +46,19 @@ using (var db = new StubbedContext(options))
// Ajout d'un utilisateur // Ajout d'un utilisateur
Console.WriteLine("\nAjout du nouvel utilisateur"); Console.WriteLine("\nAjout du nouvel utilisateur");
var newUser = new UserEntity("le nouveau du groupe", Convert.ToBase64String(KeyDerivation.Pbkdf2( var newUser = new UserEntity
{
Username = "le nouveau du groupe",
Password = Convert.ToBase64String(KeyDerivation.Pbkdf2(
password: "motdepasse", password: "motdepasse",
salt: RandomNumberGenerator.GetBytes(128 / 8), salt: RandomNumberGenerator.GetBytes(128 / 8),
prf: KeyDerivationPrf.HMACSHA256, prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Efff.fffff@etu.uca.fr", true); numBytesRequested: 256 / 8)),
Email = "Efff.fffff@etu.uca.fr",
IsAdmin = true
}
;
if (!users.Any(u => u.Username == newUser.Username)) if (!users.Any(u => u.Username == newUser.Username))
{ {
users.Add(newUser); users.Add(newUser);
@ -160,23 +167,22 @@ using (var db = new StubbedContext(options))
// Affichage de la solution de l'enquete sur les orang outan // Affichage de la solution de l'enquete sur les orang outan
Console.WriteLine("\nAffichage 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"); var inquiryEntity = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan");
Console.WriteLine(sol.MurdererFirstName); var solution = await solutions.FirstOrDefaultAsync(s => s.OwnerId == inquiryEntity.Id);
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() foreach (var pptt in typeof(SolutionEntity).GetProperties()
.Where(p => p.CanWrite && p.Name != nameof(SolutionEntity.Owner))) .Where(p => p.CanRead && p.Name != nameof(SolutionEntity.Owner)))
{ {
Console.WriteLine(pptt.GetValue(i)); Console.WriteLine(pptt.GetValue(solution));
} }
// Ajout d'une enquete // Ajout d'une enquete
Console.WriteLine("\nAjout de la nouvelle enquete"); Console.WriteLine("\nAjout de la nouvelle enquete");
var newInquiry = new InquiryEntity( var newInquiry = new InquiryEntity
"La nouvelle enquete", {
"La description de la nouvelle enquete", Title = "La nouvelle enquete",
true); Description = "La description de la nouvelle enquete",
IsUser = true
};
if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title)) if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title))
{ {
inquiries.Add(newInquiry); inquiries.Add(newInquiry);

@ -0,0 +1,41 @@
using Dto;
namespace TestEF.Dto;
public class TestInquiryDto
{
private const int _id = 1;
private const string _title = "Title";
private const string _description = "_description";
private const bool _isUser = true;
[Fact]
public void TestConstructorWithId()
{
InquiryDto inquiry = new InquiryDto(_id, _title, _description, _isUser);
Assert.Equal(_id, inquiry.Id);
Assert.Equal(_title, inquiry.Title);
Assert.Equal(_description, inquiry.Description);
Assert.True(inquiry.IsUser);
}
[Fact]
public void TestConstructorWithoutId()
{
InquiryDto inquiry = new InquiryDto(_title,_description,_isUser);
Assert.Equal(0, inquiry.Id);
Assert.Equal(_title,inquiry.Title);
Assert.Equal(_description,inquiry.Description);
Assert.True(inquiry.IsUser);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
InquiryDto inquiry = new InquiryDto(_id,_title,_description,_isUser);
Assert.Equal(_id, inquiry.Id);
Assert.Equal(_title,inquiry.Title);
Assert.Equal(_description,inquiry.Description);
Assert.True(inquiry.IsUser);
}
}

@ -0,0 +1,28 @@
using Dto;
namespace TestEF.Dto;
public class TestInquiryTableDto
{
private const int Id = 1;
private const string Database = "database";
private const string Connection = "_connection";
[Fact]
public void TestConstructorWithId()
{
InquiryTableDto inquiry = new InquiryTableDto(Id, Database, Connection);
Assert.Equal(Id, inquiry.OwnerId);
Assert.Equal(Database, inquiry.DatabaseName);
Assert.Equal(Connection, inquiry.ConnectionInfo);
}
[Fact]
public void TestDefaultConstructor()
{
InquiryTableDto inquiry = new InquiryTableDto();
Assert.Equal(0, inquiry.OwnerId);
Assert.Null(inquiry.DatabaseName);
Assert.Null(inquiry.ConnectionInfo);
}
}

@ -0,0 +1,42 @@
using Dto;
namespace TestEF.Dto;
public class TestLessonDto
{
private const int Id = 42;
private const string Title = "Title";
private const string LastPublisher = "Last Publisher";
private static readonly DateOnly LastEdit = new();
[Fact]
public void TestDefaultConstructor()
{
LessonDto lesson = new LessonDto();
Assert.Equal(0, lesson.Id);
Assert.Null(lesson.Title);
Assert.Null(lesson.LastPublisher);
// Default date
Assert.Equal(new DateOnly(0001, 01, 01), LastEdit);
}
[Fact]
public void TestConstructorWithoutId()
{
LessonDto lesson = new LessonDto(Title, LastPublisher, LastEdit);
Assert.Equal(0, lesson.Id);
Assert.Equal(Title, lesson.Title);
Assert.Equal(LastPublisher, lesson.LastPublisher);
Assert.Equal(LastEdit, lesson.LastEdit);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
LessonDto lesson = new LessonDto(Id, Title, LastPublisher, LastEdit);
Assert.Equal(Id, lesson.Id);
Assert.Equal(Title, lesson.Title);
Assert.Equal(LastPublisher, lesson.LastPublisher);
Assert.Equal(LastEdit, lesson.LastEdit);
}
}

@ -0,0 +1,41 @@
using Dto;
namespace TestEF.Dto;
public class TestNotepadDto
{
private const int Id = 42;
private const int UserId = 42;
private const int InquiryId = 42;
private const string Notes = "This is some notes example";
[Fact]
public void TestDefaultConstructor()
{
NotepadDto notepad = new NotepadDto();
Assert.Equal(0,notepad.Id);
Assert.Equal(0,notepad.UserId);
Assert.Equal(0,notepad.InquiryId);
Assert.Null(notepad.Notes);
}
[Fact]
public void TestConstructorWithoutId()
{
NotepadDto notepad = new NotepadDto(UserId,InquiryId,Notes);
Assert.Equal(0,notepad.Id);
Assert.Equal(UserId,notepad.UserId);
Assert.Equal(InquiryId,notepad.InquiryId);
Assert.Equal(Notes,notepad.Notes);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
NotepadDto notepad = new NotepadDto(Id,UserId,InquiryId,Notes);
Assert.Equal(Id,notepad.Id);
Assert.Equal(UserId,notepad.UserId);
Assert.Equal(InquiryId,notepad.InquiryId);
Assert.Equal(Notes,notepad.Notes);
}
}

@ -0,0 +1,50 @@
using Dto;
namespace TestEF.Dto;
public class TestParagraphDto
{
private const int Id = 42;
private const string Title = "Title";
private const string Info = "Info";
private const string Content = "Content";
private const string Query = "Query";
private const string Comment = "Comment";
[Fact]
public void TestDefaultConstructor()
{
ParagraphDto paragraph = new ParagraphDto();
Assert.Equal(0, paragraph.Id);
Assert.Null(paragraph.Title);
Assert.Null(paragraph.Info);
Assert.Null(paragraph.Content);
Assert.Null(paragraph.Query);
Assert.Null(paragraph.Comment);
}
[Fact]
public void TestConstructorWithoutId()
{
ParagraphDto paragraph = new ParagraphDto(Title,Content,Info,Query,Comment, 10);
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);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
ParagraphDto paragraph = new ParagraphDto(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(10, paragraph.LessonId);
}
}

@ -0,0 +1,48 @@
using Dto;
namespace TestEF.Dto;
public class TestSolutionDto
{
private const string MurdererFirstName = "John";
private const string MurdererLastName = "Doe";
private const string MurderPlace = "WhiteHouse";
private const string MurderWeapon = "Nuclear Bomb";
private const string Explaination = "This is an explaination";
private const int InquiryId = 42;
[Fact]
public void TestDefaultConstructor()
{
SolutionDto solution = new SolutionDto();
Assert.Equal(0,solution.OwnerId);
Assert.Null(solution.MurdererFirstName);
Assert.Null(solution.MurdererLastName);
Assert.Null(solution.MurderPlace);
Assert.Null(solution.MurderWeapon);
Assert.Null(solution.Explanation);
}
[Fact]
public void TestConstructorWithoutOwnerId()
{
SolutionDto solution = new SolutionDto(MurdererFirstName,MurdererLastName,MurderPlace,MurderWeapon, Explaination);
Assert.Equal(0,solution.OwnerId);
Assert.Equal(MurdererFirstName,solution.MurdererFirstName);
Assert.Equal(MurdererLastName,solution.MurdererLastName);
Assert.Equal(MurderPlace,solution.MurderPlace);
Assert.Equal(MurderWeapon,solution.MurderWeapon);
Assert.Equal(Explaination, solution.Explanation);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
SolutionDto solution = new SolutionDto(InquiryId,MurdererFirstName,MurdererLastName,MurderPlace,MurderWeapon, Explaination);
Assert.Equal(InquiryId,solution.OwnerId);
Assert.Equal(MurdererFirstName,solution.MurdererFirstName);
Assert.Equal(MurdererLastName,solution.MurdererLastName);
Assert.Equal(MurderPlace,solution.MurderPlace);
Assert.Equal(MurderWeapon,solution.MurderWeapon);
Assert.Equal(Explaination, solution.Explanation);
}
}

@ -0,0 +1,28 @@
using Dto;
namespace TestEF.Dto;
public class TestSuccessDto
{
private const int UserId = 42;
private const int InquiryId = 7;
private const bool IsFinished = true;
[Fact]
public void TestDefaultConstructor()
{
SuccessDto success = new SuccessDto();
Assert.Equal(0, success.UserId);
Assert.Equal(0, success.InquiryId);
Assert.False(success.IsFinished);
}
[Fact]
public void TestConstructorWithIds()
{
SuccessDto success = new SuccessDto(UserId, InquiryId, IsFinished);
Assert.Equal(UserId, success.UserId);
Assert.Equal(InquiryId, success.InquiryId);
Assert.True(success.IsFinished);
}
}

@ -0,0 +1,46 @@
using Dto;
namespace TestEF.Dto
{
public class TestUserDto
{
private const string Username = "username";
private const string Email = "example@email.com";
private const string Password = "password";
private const bool IsAdmin = true;
private const int Id = 42;
[Fact]
public void TestDefaultConstructor()
{
UserDto user = new UserDto();
Assert.Equal(0,user.Id);
Assert.Null(user.Username);
Assert.Null(user.Email);
Assert.Null(user.Password);
Assert.False(user.IsAdmin);
}
[Fact]
public void TestConstructorWithoutId()
{
UserDto user = new UserDto(Username, Password, Email, IsAdmin);
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()
{
UserDto user = new UserDto(Id, Username, Password, Email, IsAdmin);
Assert.Equal(Id,user.Id);
Assert.Equal(Username, user.Username);
Assert.Equal(Email, user.Email);
Assert.Equal(Password, user.Password);
Assert.True(user.IsAdmin);
}
}
}

@ -1,21 +0,0 @@
using Entities;
namespace TestEF.EntitiesTests;
public class ConcreteContentLessonEntity : ContentLessonEntity
{
public ConcreteContentLessonEntity(int id, string contentContent, string contentTitle)
: base(id, contentContent, contentTitle)
{
}
public ConcreteContentLessonEntity(int id, int lessonId, string contentContent, string contentTitle)
: base(id, lessonId, contentContent, contentTitle)
{
}
public ConcreteContentLessonEntity(string contentContent, string contentTitle)
: base(contentContent, contentTitle)
{
}
}

@ -8,7 +8,7 @@ public class TestBlackListEntity
public void Constructor_ShouldSetProperties_WhenCalledWithTwoParameters() public void Constructor_ShouldSetProperties_WhenCalledWithTwoParameters()
{ {
// Arrange // Arrange
string email = "test@example.com"; const string email = "test@example.com";
DateOnly expirationDate = DateOnly.FromDateTime(DateTime.Now.AddDays(10)); DateOnly expirationDate = DateOnly.FromDateTime(DateTime.Now.AddDays(10));
// Act // Act

@ -1,55 +0,0 @@
namespace TestEF.EntitiesTests;
public class TestContentLessonEntity
{
[Fact]
public void Constructor_ShouldSetProperties_WhenCalledWithTwoParameters()
{
// Arrange
const string contentContent = "Content";
const string contentTitle = "Title";
// Act
var concreteContentLessonEntity = new ConcreteContentLessonEntity(contentContent, contentTitle);
// Assert
Assert.Equal(contentContent, concreteContentLessonEntity.ContentContent);
Assert.Equal(contentTitle, concreteContentLessonEntity.ContentTitle);
}
[Fact]
public void Constructor_ShouldSetProperties_WhenCalledWithThreeParameters()
{
// Arrange
const int id = 1;
const string contentContent = "Content";
const string contentTitle = "Title";
// Act
var concreteContentLessonEntity = new ConcreteContentLessonEntity(id, contentContent, contentTitle);
// Assert
Assert.Equal(id, concreteContentLessonEntity.Id);
Assert.Equal(contentContent, concreteContentLessonEntity.ContentContent);
Assert.Equal(contentTitle, concreteContentLessonEntity.ContentTitle);
}
[Fact]
public void Constructor_ShouldSetProperties_WhenCalledWithFourParameters()
{
// Arrange
const int id = 1;
const int lessonId = 2;
const string contentContent = "Content";
const string contentTitle = "Title";
// Act
var concreteContentLessonEntity = new ConcreteContentLessonEntity(id, lessonId, contentContent, contentTitle);
// Assert
Assert.Equal(id, concreteContentLessonEntity.Id);
Assert.Equal(lessonId, concreteContentLessonEntity.LessonId);
Assert.Equal(contentContent, concreteContentLessonEntity.ContentContent);
Assert.Equal(contentTitle, concreteContentLessonEntity.ContentTitle);
}
}

@ -4,15 +4,15 @@ namespace TestEF.EntitiesTests;
public class TestInquiryEntity public class TestInquiryEntity
{ {
private const int _id = 42; private const int Id = 42;
private const string _title = "Title"; private const string Title = "Title";
private const string _description = "_description"; private const string Description = "_description";
private const bool _isUser = true; private const bool IsUser = true;
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
{ {
InquiryEntity inquiry = new InquiryEntity(); var inquiry = new InquiryEntity();
Assert.Equal(0, inquiry.Id); Assert.Equal(0, inquiry.Id);
Assert.Null(inquiry.Title); Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description); Assert.Null(inquiry.Description);
@ -22,8 +22,11 @@ public class TestInquiryEntity
[Fact] [Fact]
public void TestConstructorWithOnlyId() public void TestConstructorWithOnlyId()
{ {
InquiryEntity inquiry = new InquiryEntity(_id); var inquiry = new InquiryEntity
Assert.Equal(_id, inquiry.Id); {
Id = Id
};
Assert.Equal(Id, inquiry.Id);
Assert.Null(inquiry.Title); Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description); Assert.Null(inquiry.Description);
Assert.False(inquiry.IsUser); Assert.False(inquiry.IsUser);
@ -32,20 +35,31 @@ public class TestInquiryEntity
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
InquiryEntity inquiry = new InquiryEntity(_title, _description, _isUser); var inquiry = new InquiryEntity
{
Title = Title,
Description = Description,
IsUser = IsUser
};
Assert.Equal(0, inquiry.Id); Assert.Equal(0, inquiry.Id);
Assert.Equal(_title, inquiry.Title); Assert.Equal(Title, inquiry.Title);
Assert.Equal(_description, inquiry.Description); Assert.Equal(Description, inquiry.Description);
Assert.True(inquiry.IsUser); Assert.True(inquiry.IsUser);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
InquiryEntity inquiry = new InquiryEntity(_id, _title, _description, _isUser); var inquiry = new InquiryEntity
Assert.Equal(_id, inquiry.Id); {
Assert.Equal(_title, inquiry.Title); Id = Id,
Assert.Equal(_description, inquiry.Description); Title = Title,
Description = Description,
IsUser = IsUser
};
Assert.Equal(Id, inquiry.Id);
Assert.Equal(Title, inquiry.Title);
Assert.Equal(Description, inquiry.Description);
Assert.True(inquiry.IsUser); Assert.True(inquiry.IsUser);
} }
} }

@ -1,13 +1,13 @@
using Entities; using Entities;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestInquiryTableEntity public class TestInquiryTableEntity
{ {
private const int _inquiryId = 42; private const int InquiryId = 42;
private static InquiryEntity _inquiry = new InquiryEntity(); private static readonly InquiryEntity Inquiry = new();
private const string _databaseName = "Database"; private const string DatabaseName = "Database";
private const string _connectionInfo = "Connection"; private const string ConnectionInfo = "Connection";
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -22,8 +22,11 @@ public class TestInquiryTableEntity
[Fact] [Fact]
public void TestConstructorWithOnlyId() public void TestConstructorWithOnlyId()
{ {
InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiryId); InquiryTableEntity tableEntity = new InquiryTableEntity
Assert.Equal(_inquiryId, tableEntity.OwnerId); {
OwnerId = InquiryId
};
Assert.Equal(InquiryId, tableEntity.OwnerId);
Assert.Null(tableEntity.Owner); Assert.Null(tableEntity.Owner);
Assert.Null(tableEntity.DatabaseName); Assert.Null(tableEntity.DatabaseName);
Assert.Null(tableEntity.ConnectionInfo); Assert.Null(tableEntity.ConnectionInfo);
@ -33,20 +36,30 @@ public class TestInquiryTableEntity
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiry, _databaseName, _connectionInfo); InquiryTableEntity tableEntity = new InquiryTableEntity
{
Owner = Inquiry,
DatabaseName = DatabaseName,
ConnectionInfo = ConnectionInfo
};
Assert.Equal(0, tableEntity.OwnerId); Assert.Equal(0, tableEntity.OwnerId);
Assert.Equal(_inquiry, tableEntity.Owner); Assert.Equal(Inquiry, tableEntity.Owner);
Assert.Equal(_databaseName, tableEntity.DatabaseName); Assert.Equal(DatabaseName, tableEntity.DatabaseName);
Assert.Equal(_connectionInfo, tableEntity.ConnectionInfo); Assert.Equal(ConnectionInfo, tableEntity.ConnectionInfo);
} }
[Fact] [Fact]
public void TestConstructorWithoutNavigationProperty() public void TestConstructorWithoutNavigationProperty()
{ {
InquiryTableEntity tableEntity = new InquiryTableEntity(_inquiryId, _databaseName, _connectionInfo); InquiryTableEntity tableEntity = new InquiryTableEntity
Assert.Equal(_inquiryId, tableEntity.OwnerId); {
OwnerId = InquiryId,
DatabaseName = DatabaseName,
ConnectionInfo = ConnectionInfo
};
Assert.Equal(InquiryId, tableEntity.OwnerId);
Assert.Null(tableEntity.Owner); Assert.Null(tableEntity.Owner);
Assert.Equal(_databaseName, tableEntity.DatabaseName); Assert.Equal(DatabaseName, tableEntity.DatabaseName);
Assert.Equal(_connectionInfo, tableEntity.ConnectionInfo); Assert.Equal(ConnectionInfo, tableEntity.ConnectionInfo);
} }
} }

@ -1,14 +1,13 @@
using Entities; using Entities;
using Microsoft.VisualBasic;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestLessonEntity public class TestLessonEntity
{ {
private const int _id = 42; private const int Id = 42;
private const string _title = "Title"; private const string Title = "Title";
private const string _lastPublisher = "Last Publisher"; private const string LastPublisher = "Last Publisher";
private static DateOnly _lastEdit = new DateOnly(); private static readonly DateOnly LastEdit = new();
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -17,26 +16,37 @@ public class TestLessonEntity
Assert.Equal(0, lesson.Id); Assert.Equal(0, lesson.Id);
Assert.Null(lesson.Title); Assert.Null(lesson.Title);
Assert.Null(lesson.LastPublisher); Assert.Null(lesson.LastPublisher);
Assert.Null(lesson.LastEdit); Assert.Equal(new DateOnly(0001, 01, 01), LastEdit);
} }
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
LessonEntity lesson = new LessonEntity(_title, _lastPublisher, _lastEdit); LessonEntity lesson = new LessonEntity
{
Title = Title,
LastPublisher = LastPublisher,
LastEdit = LastEdit
};
Assert.Equal(0, lesson.Id); Assert.Equal(0, lesson.Id);
Assert.Equal(_title, lesson.Title); Assert.Equal(Title, lesson.Title);
Assert.Equal(_lastPublisher, lesson.LastPublisher); Assert.Equal(LastPublisher, lesson.LastPublisher);
Assert.Equal(_lastEdit, lesson.LastEdit); Assert.Equal(LastEdit, lesson.LastEdit);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
LessonEntity lesson = new LessonEntity(_id, _title, _lastPublisher, _lastEdit); LessonEntity lesson = new LessonEntity
Assert.Equal(_id, lesson.Id); {
Assert.Equal(_title, lesson.Title); Id = Id,
Assert.Equal(_lastPublisher, lesson.LastPublisher); Title = Title,
Assert.Equal(_lastEdit, lesson.LastEdit); LastPublisher = LastPublisher,
LastEdit = LastEdit
};
Assert.Equal(Id, lesson.Id);
Assert.Equal(Title, lesson.Title);
Assert.Equal(LastPublisher, lesson.LastPublisher);
Assert.Equal(LastEdit, lesson.LastEdit);
} }
} }

@ -1,15 +1,15 @@
using Entities; using Entities;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestNotepadEntity public class TestNotepadEntity
{ {
private const int _id = 42; private const int Id = 42;
private const int _userId = 42; private const int UserId = 42;
private static UserEntity _userEntity = new UserEntity(); private static readonly UserEntity UserEntity = new();
private const int _inquiryId = 42; private const int InquiryId = 42;
private static InquiryEntity _inquiryEntity = new InquiryEntity(); private static readonly InquiryEntity InquiryEntity = new();
private const string _notes = "This is some notes example"; private const string Notes = "This is some notes example";
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -26,24 +26,39 @@ public class TestNotepadEntity
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
NotepadEntity notepad = new NotepadEntity(_userId, _userEntity, _inquiryId, _inquiryEntity, _notes); NotepadEntity notepad = new NotepadEntity
{
UserId = UserId,
User = UserEntity,
InquiryId = InquiryId,
Inquiry = InquiryEntity,
Notes = Notes
};
Assert.Equal(0, notepad.Id); Assert.Equal(0, notepad.Id);
Assert.Equal(_userId, notepad.UserId); Assert.Equal(UserId, notepad.UserId);
Assert.Equal(_userEntity, notepad.User); Assert.Equal(UserEntity, notepad.User);
Assert.Equal(_inquiryId, notepad.InquiryId); Assert.Equal(InquiryId, notepad.InquiryId);
Assert.Equal(_inquiryEntity, notepad.Inquiry); Assert.Equal(InquiryEntity, notepad.Inquiry);
Assert.Equal(_notes, notepad.Notes); Assert.Equal(Notes, notepad.Notes);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
NotepadEntity notepad = new NotepadEntity(_id, _userId, _userEntity, _inquiryId, _inquiryEntity, _notes); NotepadEntity notepad = new NotepadEntity
Assert.Equal(_id, notepad.Id); {
Assert.Equal(_userId, notepad.UserId); Id = Id,
Assert.Equal(_userEntity, notepad.User); UserId = UserId,
Assert.Equal(_inquiryId, notepad.InquiryId); User = UserEntity,
Assert.Equal(_inquiryEntity, notepad.Inquiry); InquiryId = InquiryId,
Assert.Equal(_notes, notepad.Notes); Inquiry = InquiryEntity,
Notes = 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);
} }
} }

@ -1,20 +1,20 @@
using Entities; using Entities;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestParagraphEntity public class TestParagraphEntity
{ {
private const int _id = 42; private const int Id = 42;
private const string _title = "Title"; private const string Title = "Title";
private const string _info = "Info"; private const string Info = "Info";
private const string _content = "Content"; private const string Content = "Content";
private const string _query = "Query"; private const string Query = "Query";
private const string _comment = "Comment"; private const string Comment = "Comment";
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
{ {
ParagraphEntity paragraph = new ParagraphEntity(); var paragraph = new ParagraphEntity();
Assert.Equal(0, paragraph.Id); Assert.Equal(0, paragraph.Id);
Assert.Null(paragraph.Title); Assert.Null(paragraph.Title);
Assert.Null(paragraph.Info); Assert.Null(paragraph.Info);
@ -26,25 +26,41 @@ public class TestParagraphEntity
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
ParagraphEntity paragraph = new ParagraphEntity(_title, _content, _info, _query, _comment); var paragraph = new ParagraphEntity
{
Title = Title,
Content = Content,
Info = Info,
Query = Query,
Comment = Comment
};
Assert.Equal(0, paragraph.Id); Assert.Equal(0, paragraph.Id);
Assert.Equal(_title, paragraph.Title); Assert.Equal(Title, paragraph.Title);
Assert.Equal(_info, paragraph.Info); Assert.Equal(Info, paragraph.Info);
Assert.Equal(_content, paragraph.Content); Assert.Equal(Content, paragraph.Content);
Assert.Equal(_query, paragraph.Query); Assert.Equal(Query, paragraph.Query);
Assert.Equal(_comment, paragraph.Comment); Assert.Equal(Comment, paragraph.Comment);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
ParagraphEntity paragraph = new ParagraphEntity(_id, _title, _content, _info, _query, _comment, 10); var paragraph = new ParagraphEntity
Assert.Equal(_id, paragraph.Id); {
Assert.Equal(_title, paragraph.Title); Id = Id,
Assert.Equal(_info, paragraph.Info); Title = Title,
Assert.Equal(_content, paragraph.Content); Content = Content,
Assert.Equal(_query, paragraph.Query); Info = Info,
Assert.Equal(_comment, paragraph.Comment); Query = Query,
Comment = Comment,
LessonId = 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(10, paragraph.LessonId); Assert.Equal(10, paragraph.LessonId);
} }
} }

@ -1,16 +1,16 @@
using Entities; using Entities;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestSolutionEntity public class TestSolutionEntity
{ {
private const string _murdererFirstName = "John"; private const string MurdererFirstName = "John";
private const string _murdererLastName = "Doe"; private const string MurdererLastName = "Doe";
private const string _murderPlace = "WhiteHouse"; private const string MurderPlace = "WhiteHouse";
private const string _murderWeapon = "Nuclear Bomb"; private const string MurderWeapon = "Nuclear Bomb";
private const string _explaination = "This is an explaination"; private const string Explaination = "This is an explaination";
private const int _inquiryId = 42; private const int InquiryId = 42;
private static InquiryEntity _inquiry = new InquiryEntity(); private static readonly InquiryEntity Inquiry = new();
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -28,8 +28,11 @@ public class TestSolutionEntity
[Fact] [Fact]
public void TestConstructorWithOnlyId() public void TestConstructorWithOnlyId()
{ {
SolutionEntity solution = new SolutionEntity(_inquiryId); SolutionEntity solution = new SolutionEntity
Assert.Equal(_inquiryId, solution.OwnerId); {
OwnerId = InquiryId
};
Assert.Equal(InquiryId, solution.OwnerId);
Assert.Null(solution.Owner); Assert.Null(solution.Owner);
Assert.Null(solution.MurdererFirstName); Assert.Null(solution.MurdererFirstName);
Assert.Null(solution.MurdererLastName); Assert.Null(solution.MurdererLastName);
@ -41,29 +44,46 @@ public class TestSolutionEntity
[Fact] [Fact]
public void TestConstructorWithoutOwnerId() public void TestConstructorWithoutOwnerId()
{ {
SolutionEntity solution = new SolutionEntity(_inquiry, _murdererFirstName, _murdererLastName, _murderPlace, SolutionEntity solution = new SolutionEntity
_murderWeapon, _explaination); {
Owner = Inquiry,
MurdererFirstName = MurdererFirstName,
MurdererLastName = MurdererLastName,
MurderPlace = MurderPlace,
MurderWeapon = MurderWeapon,
Explaination = Explaination
};
Assert.Equal(0, solution.OwnerId); Assert.Equal(0, solution.OwnerId);
Assert.Equal(_inquiry, solution.Owner); Assert.Equal(Inquiry, solution.Owner);
Assert.Equal(_murdererFirstName, solution.MurdererFirstName); Assert.Equal(MurdererFirstName, solution.MurdererFirstName);
Assert.Equal(_murdererLastName, solution.MurdererLastName); Assert.Equal(MurdererLastName, solution.MurdererLastName);
Assert.Equal(_murderPlace, solution.MurderPlace); Assert.Equal(MurderPlace, solution.MurderPlace);
Assert.Equal(_murderWeapon, solution.MurderWeapon); Assert.Equal(MurderWeapon, solution.MurderWeapon);
Assert.Equal(_explaination, solution.Explaination); Assert.Equal(Explaination, solution.Explaination);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
SolutionEntity solution = new SolutionEntity(_inquiryId, _inquiry, _murdererFirstName, _murdererLastName, SolutionEntity solution = new SolutionEntity
_murderPlace, _murderWeapon, _explaination); {
Assert.Equal(_inquiryId, solution.OwnerId); OwnerId = InquiryId,
Assert.Equal(_inquiry, solution.Owner); Owner = Inquiry,
Assert.Equal(_murdererFirstName, solution.MurdererFirstName); MurdererFirstName = MurdererFirstName,
Assert.Equal(_murdererLastName, solution.MurdererLastName); MurdererLastName = MurdererLastName,
Assert.Equal(_murderPlace, solution.MurderPlace); MurderPlace = MurderPlace,
Assert.Equal(_murderWeapon, solution.MurderWeapon); MurderWeapon = MurderWeapon,
Assert.Equal(_explaination, solution.Explaination); Explaination = Explaination
};
Assert.Equal(InquiryId, solution.OwnerId);
Assert.Equal(Inquiry, solution.Owner);
Assert.Equal(MurdererFirstName, solution.MurdererFirstName);
Assert.Equal(MurdererLastName, solution.MurdererLastName);
Assert.Equal(MurderPlace, solution.MurderPlace);
Assert.Equal(MurderWeapon, solution.MurderWeapon);
Assert.Equal(Explaination, solution.Explaination);
} }
[Fact] [Fact]
@ -78,8 +98,15 @@ public class TestSolutionEntity
const string explanation = "This is an explanation"; const string explanation = "This is an explanation";
// Act // Act
var solutionEntity = new SolutionEntity(ownerId, murdererFirstName, murdererLastName, murderPlace, murderWeapon, var solutionEntity = new SolutionEntity
explanation); {
OwnerId = ownerId,
MurdererFirstName = murdererFirstName,
MurdererLastName = murdererLastName,
MurderPlace = murderPlace,
MurderWeapon = murderWeapon,
Explaination = explanation
};
// Assert // Assert
Assert.Equal(ownerId, solutionEntity.OwnerId); Assert.Equal(ownerId, solutionEntity.OwnerId);

@ -1,12 +1,12 @@
using Entities; using Entities;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestSuccessEntity public class TestSuccessEntity
{ {
private const int _userId = 42; private const int UserId = 42;
private const int _inquiryId = 7; private const int InquiryId = 7;
private const bool _isFinished = true; private const bool IsFinished = true;
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -22,10 +22,15 @@ public class TestSuccessEntity
[Fact] [Fact]
public void TestConstructorWithIds() public void TestConstructorWithIds()
{ {
SuccessEntity success = new SuccessEntity(_userId, _inquiryId, _isFinished); SuccessEntity success = new SuccessEntity
Assert.Equal(_userId, success.UserId); {
UserId = UserId,
InquiryId = InquiryId,
IsFinished = IsFinished
};
Assert.Equal(UserId, success.UserId);
Assert.Null(success.User); Assert.Null(success.User);
Assert.Equal(_inquiryId, success.InquiryId); Assert.Equal(InquiryId, success.InquiryId);
Assert.Null(success.Inquiry); Assert.Null(success.Inquiry);
Assert.True(success.IsFinished); Assert.True(success.IsFinished);
} }
@ -35,7 +40,12 @@ public class TestSuccessEntity
{ {
UserEntity user = new UserEntity(); UserEntity user = new UserEntity();
InquiryEntity inquiry = new InquiryEntity(); InquiryEntity inquiry = new InquiryEntity();
SuccessEntity success = new SuccessEntity(user, inquiry, _isFinished); SuccessEntity success = new SuccessEntity
{
User = user,
Inquiry = inquiry,
IsFinished = IsFinished
};
Assert.Equal(0, success.UserId); Assert.Equal(0, success.UserId);
Assert.NotNull(success.User); Assert.NotNull(success.User);
Assert.Equal(0, success.InquiryId); Assert.Equal(0, success.InquiryId);
@ -48,10 +58,17 @@ public class TestSuccessEntity
{ {
UserEntity user = new UserEntity(); UserEntity user = new UserEntity();
InquiryEntity inquiry = new InquiryEntity(); InquiryEntity inquiry = new InquiryEntity();
SuccessEntity success = new SuccessEntity(_userId, user, _inquiryId, inquiry, _isFinished); SuccessEntity success = new SuccessEntity
Assert.Equal(_userId, success.UserId); {
UserId = UserId,
User = user,
InquiryId = InquiryId,
Inquiry = inquiry,
IsFinished = IsFinished
};
Assert.Equal(UserId, success.UserId);
Assert.NotNull(success.User); Assert.NotNull(success.User);
Assert.Equal(_inquiryId, success.InquiryId); Assert.Equal(InquiryId, success.InquiryId);
Assert.NotNull(success.Inquiry); Assert.NotNull(success.Inquiry);
Assert.True(success.IsFinished); Assert.True(success.IsFinished);
} }

@ -1,14 +1,14 @@
using Entities; using Entities;
namespace TestEF namespace TestEF.EntitiesTests;
public class TestUserEntity
{ {
public class TestUserEntity private const string Username = "username";
{ private const string Email = "example@email.com";
private const string _username = "username"; private const string Password = "password";
private const string _email = "example@email.com"; private const bool IsAdmin = true;
private const string _password = "password"; private const int Id = 42;
private const bool _isAdmin = true;
private const int _id = 42;
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -24,8 +24,8 @@ namespace TestEF
[Fact] [Fact]
public void TestConstructorWithOnlyId() public void TestConstructorWithOnlyId()
{ {
UserEntity user = new UserEntity(_id); UserEntity user = new UserEntity { Id = Id };
Assert.Equal(_id, user.Id); Assert.Equal(Id, user.Id);
Assert.Null(user.Username); Assert.Null(user.Username);
Assert.Null(user.Email); Assert.Null(user.Email);
Assert.Null(user.Password); Assert.Null(user.Password);
@ -35,23 +35,35 @@ namespace TestEF
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
UserEntity user = new UserEntity(_username, _password, _email, _isAdmin); UserEntity user = new UserEntity
{
Username = Username,
Password = Password,
Email = Email,
IsAdmin = IsAdmin
};
Assert.Equal(0, user.Id); Assert.Equal(0, user.Id);
Assert.Equal(_username, user.Username); Assert.Equal(Username, user.Username);
Assert.Equal(_email, user.Email); Assert.Equal(Email, user.Email);
Assert.Equal(_password, user.Password); Assert.Equal(Password, user.Password);
Assert.True(user.IsAdmin); Assert.True(user.IsAdmin);
} }
[Fact] [Fact]
public void TestConstructorWithoutAllAttributes() public void TestConstructorWithoutAllAttributes()
{ {
UserEntity user = new UserEntity(_id, _username, _password, _email, _isAdmin); UserEntity user = new UserEntity
Assert.Equal(_id, user.Id); {
Assert.Equal(_username, user.Username); Id = Id,
Assert.Equal(_email, user.Email); Username = Username,
Assert.Equal(_password, user.Password); Password = Password,
Email = Email,
IsAdmin = IsAdmin
};
Assert.Equal(Id, user.Id);
Assert.Equal(Username, user.Username);
Assert.Equal(Email, user.Email);
Assert.Equal(Password, user.Password);
Assert.True(user.IsAdmin); Assert.True(user.IsAdmin);
} }
}
} }
Loading…
Cancel
Save