168 lines
5.6 KiB
C#
168 lines
5.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
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 TimeInStatusCheckerTest
|
|
{
|
|
[Fact]
|
|
public void Create_TooFewDays_Ok()
|
|
{
|
|
var checker = new TimeInStatusChecker("REHO", 30, 30);
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
AccountNo = "123456-789",
|
|
Status = "REHO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
AccountNo = "123456-789",
|
|
Status = "REHO",
|
|
RepoStatusChanges = new List<RepoStatusChange>()
|
|
{
|
|
new RepoStatusChange()
|
|
{
|
|
StatusFrom = "None",
|
|
StatusTo = "REHO",
|
|
ChangedDate = DateTime.Now.AddDays(-29)
|
|
}
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.Null(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_30DaysInReho_Ok()
|
|
{
|
|
var checker = new TimeInStatusChecker("REHO", 30, 30);
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 9,
|
|
AccountNo = "123456-789",
|
|
Status = "REHO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 9,
|
|
AccountNo = "123456-789",
|
|
Status = "REHO",
|
|
RepoStatusChanges = new List<RepoStatusChange>()
|
|
{
|
|
new RepoStatusChange()
|
|
{
|
|
StatusFrom = "None",
|
|
StatusTo = "REHO",
|
|
ChangedDate = DateTime.Now.AddDays(-30)
|
|
}
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.Equal("30 days in REHO", result[0].Message);
|
|
Assert.Equal("123456-789", result[0].AccountNo);
|
|
Assert.Equal("Batch", result[0].CreatedBy);
|
|
Assert.InRange(result[0].DateAdded, DateTime.Now.AddSeconds(-1), DateTime.Now.AddSeconds(1));
|
|
Assert.Equal(9, result[0].RepoId);
|
|
Assert.Null(result[0].MarkedReadBy);
|
|
Assert.Null(result[0].DateMarkedRead);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_30DaysInRehoRepeat_Ok()
|
|
{
|
|
var checker = new TimeInStatusChecker("REHO", 30, 30);
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 9,
|
|
AccountNo = "123456-789",
|
|
Status = "REHO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 9,
|
|
AccountNo = "123456-789",
|
|
Status = "REHO",
|
|
RepoStatusChanges = new List<RepoStatusChange>()
|
|
{
|
|
new RepoStatusChange()
|
|
{
|
|
StatusFrom = "None",
|
|
StatusTo = "REHO",
|
|
ChangedDate = DateTime.Now.AddDays(-60)
|
|
}
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.Equal("60 days in REHO", result[0].Message);
|
|
Assert.Equal("123456-789", result[0].AccountNo);
|
|
Assert.Equal("Batch", result[0].CreatedBy);
|
|
Assert.InRange(result[0].DateAdded, DateTime.Now.AddSeconds(-1), DateTime.Now.AddSeconds(1));
|
|
Assert.Equal(9, result[0].RepoId);
|
|
Assert.Null(result[0].MarkedReadBy);
|
|
Assert.Null(result[0].DateMarkedRead);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_45DaysInRehoNull_Ok()
|
|
{
|
|
var checker = new TimeInStatusChecker("REHO", 30, 30);
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
AccountNo = "123456-789",
|
|
Status = "REHO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
AccountNo = "123456-789",
|
|
Status = "REHO",
|
|
RepoStatusChanges = new List<RepoStatusChange>()
|
|
{
|
|
new RepoStatusChange()
|
|
{
|
|
StatusFrom = "None",
|
|
StatusTo = "REHO",
|
|
ChangedDate = DateTime.Now.AddDays(-45)
|
|
}
|
|
}
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.Null(result);
|
|
}
|
|
}
|
|
} |