Merge branch 'UnitTestsEF' of https://codefirst.iut.uca.fr/git/johnny.ratton/API_SQLuedo into UnitTestsEF
continuous-integration/drone/push Build is passing Details

pull/40/head
Erwan MENAGER 1 year ago
commit 6c12899d8a

@ -38,9 +38,4 @@ public class ParagraphEntity : ContentLessonEntity
Query = query; Query = query;
Comment = comment; Comment = comment;
} }
public object FromEntityToModel()
{
throw new NotImplementedException();
}
} }

@ -7,6 +7,9 @@ public class BlackList
public BlackList(string email, DateOnly expirationDate) public BlackList(string email, DateOnly expirationDate)
{ {
if (email is null or "")
throw new ArgumentException("Email cannot be null or empty");
ArgumentOutOfRangeException.ThrowIfLessThan(expirationDate, DateOnly.FromDateTime(DateTime.Now));
Email = email; Email = email;
ExpirationDate = expirationDate; ExpirationDate = expirationDate;
} }

@ -0,0 +1,21 @@
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)
{
}
}

@ -0,0 +1,54 @@
using Model;
namespace TestEF.EntitiesTests;
public class TestBlackListEntity
{
[Fact]
public void Constructor_ShouldSetProperties_WhenCalledWithTwoParameters()
{
// Arrange
string email = "test@example.com";
DateOnly expirationDate = DateOnly.FromDateTime(DateTime.Now.AddDays(10));
// Act
var blackList = new BlackList(email, expirationDate);
// Assert
Assert.Equal(email, blackList.Email);
Assert.Equal(expirationDate, blackList.ExpirationDate);
}
[Fact]
public void Constructor_ShouldThrowArgumentException_WhenEmailIsEmpty()
{
// Arrange
string email = string.Empty;
DateOnly expirationDate = DateOnly.FromDateTime(DateTime.Now.AddDays(10));
// Act & Assert
Assert.Throws<ArgumentException>(() => new BlackList(email, expirationDate));
}
[Fact]
public void Constructor_ShouldThrowArgumentException_WhenEmailIsNull()
{
// Arrange
string email = null;
DateOnly expirationDate = DateOnly.FromDateTime(DateTime.Now.AddDays(10));
// Act & Assert
Assert.Throws<ArgumentException>(() => new BlackList(email, expirationDate));
}
[Fact]
public void Constructor_ShouldThrowArgumentOutOfRangeException_WhenExpirationDateIsInThePast()
{
// Arrange
string email = "test@example.com";
DateOnly expirationDate = DateOnly.FromDateTime(DateTime.Now.AddDays(-1));
// Act & Assert
Assert.Throws<ArgumentOutOfRangeException>(() => new BlackList(email, expirationDate));
}
}

@ -0,0 +1,55 @@
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);
}
}

@ -41,7 +41,8 @@ public class TestSolutionEntity
[Fact] [Fact]
public void TestConstructorWithoutOwnerId() public void TestConstructorWithoutOwnerId()
{ {
SolutionEntity solution = new SolutionEntity(_inquiry,_murdererFirstName,_murdererLastName,_murderPlace,_murderWeapon, _explaination); SolutionEntity solution = new SolutionEntity(_inquiry, _murdererFirstName, _murdererLastName, _murderPlace,
_murderWeapon, _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);
@ -54,7 +55,8 @@ public class TestSolutionEntity
[Fact] [Fact]
public void TestConstructorWithAllAttributes() public void TestConstructorWithAllAttributes()
{ {
SolutionEntity solution = new SolutionEntity(_inquiryId,_inquiry,_murdererFirstName,_murdererLastName,_murderPlace,_murderWeapon, _explaination); SolutionEntity solution = new SolutionEntity(_inquiryId, _inquiry, _murdererFirstName, _murdererLastName,
_murderPlace, _murderWeapon, _explaination);
Assert.Equal(_inquiryId, solution.OwnerId); Assert.Equal(_inquiryId, solution.OwnerId);
Assert.Equal(_inquiry, solution.Owner); Assert.Equal(_inquiry, solution.Owner);
Assert.Equal(_murdererFirstName, solution.MurdererFirstName); Assert.Equal(_murdererFirstName, solution.MurdererFirstName);
@ -63,4 +65,28 @@ public class TestSolutionEntity
Assert.Equal(_murderWeapon, solution.MurderWeapon); Assert.Equal(_murderWeapon, solution.MurderWeapon);
Assert.Equal(_explaination, solution.Explaination); Assert.Equal(_explaination, solution.Explaination);
} }
[Fact]
public void Constructor_ShouldSetProperties_WhenCalledWithSixParameters()
{
// Arrange
const int ownerId = 1;
const string murdererFirstName = "John";
const string murdererLastName = "Doe";
const string murderPlace = "WhiteHouse";
const string murderWeapon = "Nuclear Bomb";
const string explanation = "This is an explanation";
// Act
var solutionEntity = new SolutionEntity(ownerId, murdererFirstName, murdererLastName, murderPlace, murderWeapon,
explanation);
// Assert
Assert.Equal(ownerId, solutionEntity.OwnerId);
Assert.Equal(murdererFirstName, solutionEntity.MurdererFirstName);
Assert.Equal(murdererLastName, solutionEntity.MurdererLastName);
Assert.Equal(murderPlace, solutionEntity.MurderPlace);
Assert.Equal(murderWeapon, solutionEntity.MurderWeapon);
Assert.Equal(explanation, solutionEntity.Explaination);
}
} }
Loading…
Cancel
Save