169 lines
5.4 KiB
C#
169 lines
5.4 KiB
C#
using System;
|
|
using LCU.API.Collections.RepoApi.Domain.AlertChecker;
|
|
using LCU.API.Collections.RepoApi.Domain.Processing;
|
|
using LCU.Shared.Collections.RepoApiLib.Models;
|
|
using Xunit;
|
|
|
|
namespace LCU.API.Collections.RepoApiTests.AlertCheckers
|
|
{
|
|
public class NoticeOfSurplusDeficiencyNotSentCheckerTest
|
|
{
|
|
private readonly NoticeOfSurplusDeficiencyNotSentChecker _checker;
|
|
|
|
public NoticeOfSurplusDeficiencyNotSentCheckerTest()
|
|
{
|
|
_checker = new NoticeOfSurplusDeficiencyNotSentChecker();
|
|
}
|
|
|
|
[Fact]
|
|
public void Does_Not_Create_Alert_When_Refunds_Received_Date_Is_Null()
|
|
{
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO"
|
|
},
|
|
UpdatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO",
|
|
RefundStatus = new RefundStatus
|
|
{
|
|
RepoId = 1,
|
|
RefundsReceivedDate = null
|
|
}
|
|
}
|
|
};
|
|
|
|
var result = _checker.CheckForAlert(slip);
|
|
Assert.Null(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void Does_Not_Create_Alert_When_Refunds_Received_Date_Two_Days_Ago_And_Account_Not_Closed()
|
|
{
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO",
|
|
RefundStatus = new RefundStatus
|
|
{
|
|
RepoId = 1,
|
|
RefundsReceivedDate = DateTime.Now.AddDays(-2).Date
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = _checker.CheckForAlert(slip);
|
|
Assert.Null(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void Creates_Alert_When_Refunds_Received_Date_Three_Days_Ago_And_Account_Not_Closed()
|
|
{
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO",
|
|
RefundStatus = new RefundStatus
|
|
{
|
|
RepoId = 1,
|
|
RefundsReceivedDate = DateTime.Now.AddDays(-3).Date
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = _checker.CheckForAlert(slip);
|
|
Assert.NotNull(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void Does_Not_Create_Alert_When_Refunds_Received_Date_Three_Days_Ago_And_Account_Not_Closed_And_Bankruptcy_Not_Null()
|
|
{
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO",
|
|
Bankruptcy = "B7"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO",
|
|
Bankruptcy = "B7",
|
|
RefundStatus = new RefundStatus
|
|
{
|
|
RepoId = 1,
|
|
RefundsReceivedDate = DateTime.Now.AddDays(-3).Date
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = _checker.CheckForAlert(slip);
|
|
Assert.Null(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void Does_Not_Create_Alert_When_Refunds_Received_Date_Three_Days_Ago_And_Account_Is_Closed()
|
|
{
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 1,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO",
|
|
DateClosed = DateTime.Now.Date,
|
|
RefundStatus = new RefundStatus
|
|
{
|
|
RepoId = 1,
|
|
RefundsReceivedDate = DateTime.Now.AddDays(-3).Date
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = _checker.CheckForAlert(slip);
|
|
Assert.Null(result);
|
|
}
|
|
}
|
|
} |