Merge resolu entre master et testUnitsEf
continuous-integration/drone/push Build is passing Details

pull/40/head
Clement CHIEU 1 year ago
commit 31e167d19c

@ -13,10 +13,10 @@ namespace API.Controllers
[ApiController] [ApiController]
public class InquiriesController : Controller public class InquiriesController : Controller
{ {
private IInquiryDataService _inquiryDataService; private IInquiryService<InquiryDTO> _inquiryDataService;
private readonly ILogger<InquiriesController> _logger; private readonly ILogger<InquiriesController> _logger;
public InquiriesController(IInquiryDataService inquiryDataService, ILogger<InquiriesController> logger) public InquiriesController(IInquiryService<InquiryDTO> inquiryDataService, ILogger<InquiriesController> logger)
{ {
_inquiryDataService = inquiryDataService; _inquiryDataService = inquiryDataService;
_logger = logger; _logger = logger;
@ -37,7 +37,7 @@ namespace API.Controllers
return Ok(_inquiryDataService.GetInquiries(page, number, orderCriteria)); return Ok(_inquiryDataService.GetInquiries(page, number, orderCriteria));
} }
[HttpGet("inquiry/{id}")] [HttpGet("inquiry/{id:int}")]
[ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(InquiryDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetInquiryById(int id) public IActionResult GetInquiryById(int id)
@ -54,7 +54,7 @@ namespace API.Controllers
} }
} }
[HttpGet("inquiry/{title}")] [HttpGet("inquiry/{title:alpha}")]
[ProducesResponseType(typeof(InquiryDTO), 200)] [ProducesResponseType(typeof(InquiryDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetInquiryByTitle(string title) public IActionResult GetInquiryByTitle(string title)
@ -95,12 +95,12 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 400)] [ProducesResponseType(typeof(string), 400)]
public IActionResult CreateInquiry([FromBody] InquiryDTO dto) public IActionResult CreateInquiry([FromBody] InquiryDTO dto)
{ {
if (dto.Title == null || dto.Description == null || dto.Database == null || dto.InquiryTable == null) if (dto.Title == null || dto.Description == null)
{ {
return BadRequest(); return BadRequest();
} }
_logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}, database - {database}, inquiryTable - {inquiryTable}", dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable); _logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}", dto.Title, dto.Description, dto.IsUser);
return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable)); return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser));
} }
[HttpPut("inquiry/{id}")] [HttpPut("inquiry/{id}")]

@ -13,11 +13,11 @@ namespace API.Controllers
[ApiController] [ApiController]
public class LessonsController : Controller public class LessonsController : Controller
{ {
private ILessonDataService _lessonDataService; private ILessonService<LessonDTO> _lessonDataService;
private readonly ILogger<LessonsController> _logger; private readonly ILogger<LessonsController> _logger;
public LessonsController(ILessonDataService lessonDataService, ILogger<LessonsController> logger) public LessonsController(ILessonService<LessonDTO> lessonDataService, ILogger<LessonsController> logger)
{ {
_lessonDataService = lessonDataService; _lessonDataService = lessonDataService;
_logger = logger; _logger = logger;
@ -38,7 +38,7 @@ namespace API.Controllers
return Ok(_lessonDataService.GetLessons(page, number, orderCriteria)); return Ok(_lessonDataService.GetLessons(page, number, orderCriteria));
} }
[HttpGet("lesson/{id}")] [HttpGet("lesson/{id:int}")]
[ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(LessonDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetLessonById(int id) public IActionResult GetLessonById(int id)
@ -55,7 +55,7 @@ namespace API.Controllers
} }
} }
[HttpGet("lesson/{title}")] [HttpGet("lesson/{title:alpha}")]
[ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(LessonDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetLessonByTitle(string title) public IActionResult GetLessonByTitle(string title)

@ -13,11 +13,11 @@ namespace API.Controllers
[ApiController] [ApiController]
public class ParagraphsController : Controller public class ParagraphsController : Controller
{ {
private IParagraphDataService _paragraphDataService; private IParagraphService<ParagraphDTO> _paragraphDataService;
private readonly ILogger<ParagraphsController> _logger; private readonly ILogger<ParagraphsController> _logger;
public ParagraphsController(IParagraphDataService paragraphDataService, ILogger<ParagraphsController> logger) public ParagraphsController(IParagraphService<ParagraphDTO> paragraphDataService, ILogger<ParagraphsController> logger)
{ {
_paragraphDataService = paragraphDataService; _paragraphDataService = paragraphDataService;
_logger = logger; _logger = logger;
@ -38,7 +38,7 @@ namespace API.Controllers
return Ok(_paragraphDataService.GetParagraphs(page, number, orderCriteria)); return Ok(_paragraphDataService.GetParagraphs(page, number, orderCriteria));
} }
[HttpGet("paragraph/{id}")] [HttpGet("paragraph/{id:int}")]
[ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(ParagraphDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetParagraphById(int id) public IActionResult GetParagraphById(int id)
@ -54,7 +54,7 @@ namespace API.Controllers
} }
} }
[HttpGet("paragraph/{title}")] [HttpGet("paragraph/{title:alpha}")]
[ProducesResponseType(typeof(ParagraphDTO), 200)] [ProducesResponseType(typeof(ParagraphDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetParagraphByTitle(string title) public IActionResult GetParagraphByTitle(string title)

@ -13,11 +13,11 @@ namespace API.Controllers
[ApiController] [ApiController]
public class SuccessesController : Controller public class SuccessesController : Controller
{ {
private ISuccessDataService _successDataService; private ISuccessService<SuccessDTO> _successDataService;
private readonly ILogger<SuccessesController> _logger; private readonly ILogger<SuccessesController> _logger;
public SuccessesController(ISuccessDataService successDataService, ILogger<SuccessesController> logger) public SuccessesController(ISuccessService<SuccessDTO> successDataService, ILogger<SuccessesController> logger)
{ {
_successDataService = successDataService; _successDataService = successDataService;
_logger = logger; _logger = logger;
@ -38,7 +38,7 @@ namespace API.Controllers
return Ok(_successDataService.GetSuccesses(page, number, orderCriteria)); return Ok(_successDataService.GetSuccesses(page, number, orderCriteria));
} }
[HttpGet("success/{id}")] [HttpGet("success/user/{id:int}")]
[ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(SuccessDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetSuccessByUserId(int userId) public IActionResult GetSuccessByUserId(int userId)
@ -54,7 +54,7 @@ namespace API.Controllers
} }
} }
[HttpGet("success/{inquiryId}")] [HttpGet("success/inquiry/{inquiryId:int}")]
[ProducesResponseType(typeof(SuccessDTO), 200)] [ProducesResponseType(typeof(SuccessDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetSuccessByInquiryId(int inquiryId) public IActionResult GetSuccessByInquiryId(int inquiryId)

@ -11,7 +11,7 @@ namespace API.Controllers
[Authorize] [Authorize]
[ApiVersion("1.0")] [ApiVersion("1.0")]
[ApiController] [ApiController]
public class UsersController(ILogger<UsersController> logger, IUserDataService userService) : ControllerBase public class UsersController(ILogger<UsersController> logger, IUserService<UserDTO> userService) : ControllerBase
{ {
[HttpGet("users/{page}/{number}")] [HttpGet("users/{page}/{number}")]
[ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(UserDTO), 200)]
@ -29,7 +29,7 @@ namespace API.Controllers
return Ok(users); return Ok(users);
} }
[HttpGet("user/{id}")] [HttpGet("user/{id:int}")]
[ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetUserById(int id) public IActionResult GetUserById(int id)
@ -46,7 +46,7 @@ namespace API.Controllers
} }
} }
[HttpGet("user/{username}")] [HttpGet("user/{username:alpha}")]
[ProducesResponseType(typeof(UserDTO), 200)] [ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)] [ProducesResponseType(typeof(string), 404)]
public IActionResult GetUserByUsername(string username) public IActionResult GetUserByUsername(string username)

@ -6,9 +6,9 @@ namespace API.Service;
public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService) : IInquiryService<InquiryEntity> public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService) : IInquiryService<InquiryEntity>
{ {
public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) public InquiryEntity CreateInquiry(string title, string description, bool isUser)
{ {
return inquiryService.CreateInquiry(title, description, isUser, tableId, solutionId); return inquiryService.CreateInquiry(title, description, isUser);
} }
public bool DeleteInquiry(int id) public bool DeleteInquiry(int id)

@ -8,7 +8,7 @@ namespace DbDataManager.Service;
public class InquiryDataService : IInquiryService<InquiryEntity> public class InquiryDataService : IInquiryService<InquiryEntity>
{ {
private UserDbContext DbContext { get; set; } private UserDbContext DbContext { get; }
public InquiryDataService(UserDbContext context) public InquiryDataService(UserDbContext context)
{ {
@ -68,23 +68,19 @@ public class InquiryDataService : IInquiryService<InquiryEntity>
updatingInquiry.Title = inquiry.Title; updatingInquiry.Title = inquiry.Title;
updatingInquiry.Description = inquiry.Description; updatingInquiry.Description = inquiry.Description;
updatingInquiry.IsUser = inquiry.IsUser; updatingInquiry.IsUser = inquiry.IsUser;
updatingInquiry.IdSolution = inquiry.IdSolution;
updatingInquiry.IdDatabase = inquiry.IdDatabase;
// Permet d'indiquer en Db que l'entité a été modifiée. // Permet d'indiquer en Db que l'entité a été modifiée.
DbContext.Entry(updatingInquiry).State = EntityState.Modified; DbContext.Entry(updatingInquiry).State = EntityState.Modified;
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return updatingInquiry; return updatingInquiry;
} }
public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) public InquiryEntity CreateInquiry(string title, string description, bool isUser)
{ {
var newInquiryEntity = new InquiryEntity() var newInquiryEntity = new InquiryEntity()
{ {
Title = title, Title = title,
Description = description, Description = description,
IsUser = isUser, IsUser = isUser,
IdDatabase = tableId,
IdSolution = solutionId,
}; };
DbContext.Inquiries.Add(newInquiryEntity); DbContext.Inquiries.Add(newInquiryEntity);
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();

@ -10,25 +10,18 @@ public class InquiryDTO
public bool IsUser { get; set; } public bool IsUser { get; set; }
public int Database { get; set; } public InquiryDTO(int id, string title, string description, bool isUser)
public int InquiryTable { get; set; }
public InquiryDTO(int id, string title, string description, bool isUser, int database, int inquiryTable)
{ {
Id = id; Id = id;
Title = title; Title = title;
Description = description; Description = description;
IsUser = isUser; IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
} }
public InquiryDTO(string title, string description, bool isUser, int database, int inquiryTable) public InquiryDTO(string title, string description, bool isUser)
{ {
Title = title; Title = title;
Description = description; Description = description;
IsUser = isUser; IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
} }
} }

@ -1,52 +1,37 @@
namespace Entities; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Entities;
public class InquiryEntity public class InquiryEntity
{ {
public int Id { get; } [Key] public int Id { get; }
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 int IdDatabase { get; set; }
public InquiryTableEntity Database { get; set; }
public int IdSolution { get; set; }
public SolutionEntity Solution { get; set; }
public InquiryEntity() {} public InquiryEntity()
public InquiryEntity(int id)
{ {
Id = id;
} }
public InquiryEntity(int id, string title, string description, bool isUser, InquiryTableEntity database, public InquiryEntity(int id)
SolutionEntity inquiryTable)
{ {
Id = id; Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
Solution = inquiryTable;
} }
public InquiryEntity(string title, string description, bool isUser, InquiryTableEntity database, public InquiryEntity(string title, string description, bool isUser)
SolutionEntity inquiryTable)
{ {
Id = 0; Id = 0;
Title = title; Title = title;
Description = description; Description = description;
IsUser = isUser; IsUser = isUser;
Database = database;
Solution = inquiryTable;
} }
public InquiryEntity(int id, string title, string description, bool isUser, int database, public InquiryEntity(int id, string title, string description, bool isUser)
int inquiryTable)
{ {
Id = id; Id = id;
Title = title; Title = title;
Description = description; Description = description;
IsUser = isUser; IsUser = isUser;
IdDatabase = database;
IdSolution = inquiryTable;
} }
} }

@ -6,18 +6,14 @@ public class Inquiry
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 int Database { get; set; }
public int InquiryTable { get; set; }
public Inquiry() { } public Inquiry() { }
public Inquiry(int id, string title, string description, bool isUser, int database, int inquiryTable) public Inquiry(int id, string title, string description, bool isUser)
{ {
Id = id; Id = id;
Title = title; Title = title;
Description = description; Description = description;
IsUser = isUser; IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
} }
} }

@ -10,5 +10,5 @@ public interface IInquiryDataService : IInquiryService<InquiryDTO>
public InquiryDTO GetInquiryByTitle(string title); public InquiryDTO GetInquiryByTitle(string title);
public bool DeleteInquiry(int id); public bool DeleteInquiry(int id);
public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry); public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry);
public InquiryDTO CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId); public InquiryDTO CreateInquiry(string title, string description, bool isUser);
} }

@ -9,5 +9,5 @@ public interface IInquiryService<TInquiry>
public TInquiry GetInquiryByTitle(string title); public TInquiry GetInquiryByTitle(string title);
public bool DeleteInquiry(int id); public bool DeleteInquiry(int id);
public TInquiry UpdateInquiry(int id, TInquiry inquiry); public TInquiry UpdateInquiry(int id, TInquiry inquiry);
public TInquiry CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId); public TInquiry CreateInquiry(string title, string description, bool isUser);
} }

@ -36,6 +36,7 @@ public class InquiryDataService : IInquiryDataService
default: default:
break; break;
} }
var inquiries = query.ToList(); var inquiries = query.ToList();
return inquiries.Select(s => s.FromEntityToDTO()); return inquiries.Select(s => s.FromEntityToDTO());
} }
@ -47,6 +48,7 @@ public class InquiryDataService : IInquiryDataService
{ {
throw new ArgumentException("Impossible de trouver l'enquête", nameof(id)); throw new ArgumentException("Impossible de trouver l'enquête", nameof(id));
} }
return inquiryEntity.FromEntityToDTO(); return inquiryEntity.FromEntityToDTO();
} }
@ -57,12 +59,13 @@ public class InquiryDataService : IInquiryDataService
{ {
throw new ArgumentException("Impossible de trouver l'enquête", nameof(title)); throw new ArgumentException("Impossible de trouver l'enquête", nameof(title));
} }
return inquiryEntity.FromEntityToDTO(); return inquiryEntity.FromEntityToDTO();
} }
public InquiryDTO CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId) public InquiryDTO CreateInquiry(string title, string description, bool isUser)
{ {
var newInquiryEntity = new InquiryDTO(title, description, isUser, tableId, solutionId); var newInquiryEntity = new InquiryDTO(title, description, isUser);
DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity()); DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity());
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return newInquiryEntity; return newInquiryEntity;
@ -75,10 +78,12 @@ public class InquiryDataService : IInquiryDataService
{ {
return false; return false;
} }
DbContext.Inquiries.Remove(inquiryEntity); DbContext.Inquiries.Remove(inquiryEntity);
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return true; return true;
} }
public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry) public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry)
{ {
var updatingInquiry = DbContext.Inquiries.FirstOrDefault(u => u.Id == id); var updatingInquiry = DbContext.Inquiries.FirstOrDefault(u => u.Id == id);
@ -90,8 +95,6 @@ public class InquiryDataService : IInquiryDataService
updatingInquiry.Title = inquiry.Title; updatingInquiry.Title = inquiry.Title;
updatingInquiry.Description = inquiry.Description; updatingInquiry.Description = inquiry.Description;
updatingInquiry.IsUser = inquiry.IsUser; updatingInquiry.IsUser = inquiry.IsUser;
updatingInquiry.IdDatabase = inquiry.Database;
updatingInquiry.IdSolution = inquiry.InquiryTable;
DbContext.SaveChangesAsync(); DbContext.SaveChangesAsync();
return updatingInquiry.FromEntityToDTO(); return updatingInquiry.FromEntityToDTO();
} }

@ -6,39 +6,34 @@ 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, InqDto.Database, return new Inquiry(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser);
InqDto.InquiryTable);
} }
public static Inquiry FromEntityToModel(this InquiryEntity InqEntity) public static Inquiry FromEntityToModel(this InquiryEntity inqEntity)
{ {
return new Inquiry(InqEntity.Id, InqEntity.Title, InqEntity.Description, InqEntity.IsUser, return new Inquiry(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser);
InqEntity.Database.OwnerId, InqEntity.Solution.OwnerId);
} }
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, new InquiryTableEntity(Inq.Database), return new InquiryEntity(inq.Id, inq.Title, inq.Description, inq.IsUser);
new SolutionEntity(Inq.InquiryTable));
} }
public static InquiryEntity FromDTOToEntity(this InquiryDTO InqDto) public static InquiryEntity FromDTOToEntity(this InquiryDTO inqDto)
{ {
return new InquiryEntity(InqDto.Id, InqDto.Title, InqDto.Description, InqDto.IsUser, return new InquiryEntity(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser);
new InquiryTableEntity(InqDto.Database), new SolutionEntity(InqDto.InquiryTable));
} }
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, Inq.Database, Inq.InquiryTable); 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);
InqEntity.Database.OwnerId, InqEntity.Solution.OwnerId);
} }
} }

@ -6,29 +6,29 @@ 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);
} }
public static InquiryTable FromEntityToModel(this InquiryTableEntity InqTEntity) public static InquiryTable FromEntityToModel(this InquiryTableEntity inqTEntity)
{ {
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(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo);
} }
public static InquiryTableEntity FromDTOToEntity(this InquiryTableDTO dto) public static InquiryTableEntity FromDTOToEntity(this InquiryTableDTO dto)

@ -48,11 +48,6 @@ public class StubbedContext : UserDbContext
iterationCount: 100000, iterationCount: 100000,
numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true)); numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true));
modelBuilder.Entity<InquiryEntity>().HasData(
new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true, 1, 1),
new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false, 2, 2),
new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false, 3, 3));
modelBuilder.Entity<InquiryTableEntity>().HasData( modelBuilder.Entity<InquiryTableEntity>().HasData(
new InquiryTableEntity(1, "Inquiry1", new InquiryTableEntity(1, "Inquiry1",
"Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"), "Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"),
@ -65,5 +60,10 @@ public class StubbedContext : UserDbContext
new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"), new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"),
new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est ra****"), new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est ra****"),
new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan")); new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan"));
modelBuilder.Entity<InquiryEntity>().HasData(
new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true),
new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false),
new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false));
} }
} }

@ -251,7 +251,7 @@ using (var context = new UserDbContext(options))
var database = Convert.ToInt32(Console.ReadLine()); var database = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Veuillez saisir l'id de la solution :"); Console.WriteLine("Veuillez saisir l'id de la solution :");
var solution = Convert.ToInt32(Console.ReadLine()); var solution = Convert.ToInt32(Console.ReadLine());
var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false, database, solution)); var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false));
if (res.GetType() == typeof(CreatedResult)) if (res.GetType() == typeof(CreatedResult))
{ {
Console.WriteLine("\nEnquête créée avec succès"); Console.WriteLine("\nEnquête créée avec succès");
@ -390,7 +390,7 @@ using (var context = new UserDbContext(options))
var database = Convert.ToInt32(Console.ReadLine()); var database = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Veuillez saisir un commentaire :"); Console.WriteLine("Veuillez saisir un commentaire :");
var inquiryTable = Convert.ToInt32(Console.ReadLine()); var inquiryTable = Convert.ToInt32(Console.ReadLine());
var retour = inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser), database, inquiryTable)); var retour = inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser)));
if (retour.GetType() == typeof(OkObjectResult)) if (retour.GetType() == typeof(OkObjectResult))
{ {
Console.WriteLine("Mise à jour effectué avec succès !"); Console.WriteLine("Mise à jour effectué avec succès !");

@ -164,7 +164,7 @@ using (var db = new StubbedContext(options))
Console.WriteLine(sol.MurdererFirstName); Console.WriteLine(sol.MurdererFirstName);
var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan"); var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan");
var i = inquirySolution.Solution; 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.CanWrite && p.Name != nameof(SolutionEntity.Owner)))
{ {
@ -176,9 +176,7 @@ using (var db = new StubbedContext(options))
var newInquiry = new InquiryEntity( var newInquiry = new InquiryEntity(
"La nouvelle enquete", "La nouvelle enquete",
"La description de la nouvelle enquete", "La description de la nouvelle enquete",
true, true);
null,
null);
if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title)) if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title))
{ {
inquiries.Add(newInquiry); inquiries.Add(newInquiry);

@ -1,6 +1,6 @@
using Entities; using Entities;
namespace TestEF; namespace TestEF.EntitiesTests;
public class TestInquiryEntity public class TestInquiryEntity
{ {
@ -8,8 +8,6 @@ public class TestInquiryEntity
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;
private static SolutionEntity _solution = new SolutionEntity();
private static InquiryTableEntity _inquiryTable = new InquiryTableEntity();
[Fact] [Fact]
public void TestDefaultConstructor() public void TestDefaultConstructor()
@ -18,8 +16,6 @@ public class TestInquiryEntity
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);
Assert.Null(inquiry.Solution);
Assert.Null(inquiry.Database);
Assert.False(inquiry.IsUser); Assert.False(inquiry.IsUser);
} }
@ -30,32 +26,26 @@ public class TestInquiryEntity
Assert.Equal(_id, inquiry.Id); Assert.Equal(_id, inquiry.Id);
Assert.Null(inquiry.Title); Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description); Assert.Null(inquiry.Description);
Assert.Null(inquiry.Solution);
Assert.Null(inquiry.Database);
Assert.False(inquiry.IsUser); Assert.False(inquiry.IsUser);
} }
[Fact] [Fact]
public void TestConstructorWithoutId() public void TestConstructorWithoutId()
{ {
InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser,_inquiryTable,_solution); InquiryEntity inquiry = new InquiryEntity(_title,_description,_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.Equal(_solution,inquiry.Solution);
Assert.Equal(_inquiryTable,inquiry.Database);
Assert.True(inquiry.IsUser); Assert.True(inquiry.IsUser);
} }
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser,_inquiryTable,_solution); InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser);
Assert.Equal(_id, inquiry.Id); Assert.Equal(_id, inquiry.Id);
Assert.Equal(_title,inquiry.Title); Assert.Equal(_title,inquiry.Title);
Assert.Equal(_description,inquiry.Description); Assert.Equal(_description,inquiry.Description);
Assert.Equal(_solution,inquiry.Solution);
Assert.Equal(_inquiryTable,inquiry.Database);
Assert.True(inquiry.IsUser); Assert.True(inquiry.IsUser);
} }
} }
Loading…
Cancel
Save