Ajout de tests pour la blacklist et gestion des erreurs dans le constructeur
continuous-integration/drone/push Build is passing Details

pull/37/head
Clement CHIEU 1 year ago
parent 4367d53bb8
commit 1d37436626

@ -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,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));
}
}
Loading…
Cancel
Save