Suppression des constructeurs de SolutionEntity

pull/40/head
Clement CHIEU 1 year ago
parent c4dd76334d
commit 9202afb4e6

@ -12,42 +12,14 @@ public class SolutionEntity
[Required] [Required]
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() { }
public SolutionEntity(int ownerId) public SolutionEntity(int ownerId)
{ {
OwnerId = 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;
}
} }

@ -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,21 +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 return new SolutionEntity
{
OwnerId = model.OwnerId,
Owner = new InquiryEntity
{ {
Id = model.OwnerId Id = model.OwnerId
}, },
model.MurdererFirstName, MurdererFirstName = model.MurdererFirstName,
model.MurdererLastName, model.MurderPlace, model.MurderWeapon, model.Explanation); 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
{ {
return new SolutionEntity(dto.OwnerId, new InquiryEntity OwnerId = dto.OwnerId,
Owner = new InquiryEntity
{ {
Id = dto.OwnerId Id = dto.OwnerId
}, },
dto.MurdererFirstName, MurdererFirstName = dto.MurdererFirstName,
dto.MurdererLastName, dto.MurderPlace, dto.MurderWeapon, dto.Explanation); MurdererLastName = dto.MurdererLastName,
MurderPlace = dto.MurderPlace,
MurderWeapon = dto.MurderWeapon,
Explaination = dto.Explanation
};
} }
} }

@ -107,9 +107,33 @@ public class StubbedContext : UserDbContext
}); });
modelBuilder.Entity<SolutionEntity>().HasData( modelBuilder.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 ra****"), {
new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan")); OwnerId = 1,
MurdererFirstName = "Maxime",
MurdererLastName = "Sapountzis",
MurderPlace = "La cuisine",
MurderWeapon = "Le couteau",
Explaination = "Parce que c'est Maxime"
},
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"
});
modelBuilder.Entity<InquiryEntity>().HasData( modelBuilder.Entity<InquiryEntity>().HasData(
new InquiryEntity new InquiryEntity

@ -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);

Loading…
Cancel
Save