148 lines
5.3 KiB
C#
148 lines
5.3 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 StatusChangeCheckerTest
|
|
{
|
|
[Fact]
|
|
public void Create_StatusIsUnchanged_Ok()
|
|
{
|
|
var checker = new StatusChangeChecker("RECA");
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
AccountNo = "123456-789",
|
|
Status = "RECA"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
AccountNo = "123456-789",
|
|
Status = "RECA"
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.Null(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_StatusIsReca_Ok()
|
|
{
|
|
var checker = new StatusChangeChecker("RECA");
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 2,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 2,
|
|
AccountNo = "123456-789",
|
|
Status = "RECA"
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.Equal("Status Changed to RECA", result[0].Message);
|
|
Assert.Equal("Previously REPO. I confirm that I have updated the Status to RECA in RDN.",
|
|
result[0].SubMessage);
|
|
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(2, result[0].RepoId);
|
|
Assert.Null(result[0].MarkedReadBy);
|
|
Assert.Null(result[0].DateMarkedRead);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_StatusIsReho_Ok()
|
|
{
|
|
var checker = new StatusChangeChecker("REHO");
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 2,
|
|
AccountNo = "123456-789",
|
|
Status = "REPO"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 2,
|
|
AccountNo = "123456-789",
|
|
Status = "REHO"
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.Equal("Status Changed to REHO", result[0].Message);
|
|
Assert.Equal("Previously REPO. I confirm that I have updated the Status to REHO in RDN.",
|
|
result[0].SubMessage);
|
|
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(2, result[0].RepoId);
|
|
Assert.Null(result[0].MarkedReadBy);
|
|
Assert.Null(result[0].DateMarkedRead);
|
|
}
|
|
|
|
[Fact]
|
|
public void Create_StatusFromO4rToBlank_Ok()
|
|
{
|
|
var DefaultNoStatusIntellec = "NO STATUS INTELLEC";
|
|
|
|
|
|
var checker = new StatusChangeChecker(DefaultNoStatusIntellec, new List<string>() { "O4R", "REPO" });
|
|
var originalRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 2,
|
|
AccountNo = "123456-789",
|
|
Status = "O4R"
|
|
};
|
|
var updatedRepoAccount = new RepoAccount()
|
|
{
|
|
RepoId = 2,
|
|
AccountNo = "123456-789",
|
|
Status = DefaultNoStatusIntellec
|
|
};
|
|
var slip = new RepoAccountProcessingSlip()
|
|
{
|
|
ExistingRepoAccount = originalRepoAccount,
|
|
UpdatedRepoAccount = updatedRepoAccount
|
|
};
|
|
|
|
var result = checker.CheckForAlert(slip);
|
|
|
|
Assert.NotNull(result);
|
|
Assert.Equal("Status Changed to " + DefaultNoStatusIntellec, result[0].Message);
|
|
Assert.Equal("Previously O4R. I confirm that I have updated the Status to NO STATUS INTELLEC in RDN.",
|
|
result[0].SubMessage);
|
|
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(2, result[0].RepoId);
|
|
Assert.Null(result[0].MarkedReadBy);
|
|
Assert.Null(result[0].DateMarkedRead);
|
|
}
|
|
}
|
|
} |