Files
monorepo/LCU.API.Collections.RepoApi-old/LCU.API.Collections.RepoApiTests/AlertCheckers/SoldNoProceedsCheckerTest.cs
T
2026-04-20 14:47:24 -05:00

175 lines
5.7 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 SoldNoProceedsCheckerTest
{
private readonly SoldNoProceedsChecker _soldNoProceedsChecker;
public SoldNoProceedsCheckerTest()
{
_soldNoProceedsChecker = new SoldNoProceedsChecker();
}
[Fact]
public void Sold_No_Proceeds_Created_Ok()
{
var updatedRepoAccount = new RepoAccount()
{
Collaterals = new List<Collateral>()
{
new Collateral()
{
AuctionAssignmentToCollaterals = new List<AuctionAssignmentToCollateral>()
{
new AuctionAssignmentToCollateral()
{
AuctionAssignmentId = 1,
CollateralId = 1
}
}
}
}
};
var slip = new RepoAccountProcessingSlip()
{
AuctionAssignments = new List<AuctionAssignment>()
{
new AuctionAssignment()
{
AutoIMS = new ImsAutoFileData()
{
SoldDate = DateTime.Now.AddDays(-6)
}
}
},
ExistingRepoAccount = new RepoAccount(),
UpdatedRepoAccount = updatedRepoAccount
};
var result = _soldNoProceedsChecker.CheckForAlert(slip);
Assert.NotNull(result);
Assert.Equal("Sold No Proceeds", result[0].Message);
}
[Fact]
public void Sold_No_Proceeds_Not_Created_Funds_Sent()
{
var updatedRepoAccount = new RepoAccount()
{
Collaterals = new List<Collateral>()
{
new Collateral()
{
AuctionAssignmentToCollaterals = new List<AuctionAssignmentToCollateral>()
{
new AuctionAssignmentToCollateral()
{
AuctionAssignmentId = 1,
CollateralId = 1
}
}
}
}
};
var slip = new RepoAccountProcessingSlip()
{
AuctionAssignments = new List<AuctionAssignment>()
{
new AuctionAssignment()
{
AutoIMS = new ImsAutoFileData()
{
SoldDate = DateTime.Now.AddDays(-6),
FundsSent = DateTime.Now.AddDays(-2)
}
}
},
ExistingRepoAccount = new RepoAccount(),
UpdatedRepoAccount = updatedRepoAccount
};
var result = _soldNoProceedsChecker.CheckForAlert(slip);
Assert.Null(result);
}
[Fact]
public void Sold_No_Proceeds_Not_Created_SoldDate_Null()
{
var updatedRepoAccount = new RepoAccount()
{
Collaterals = new List<Collateral>()
{
new Collateral()
{
AuctionAssignmentToCollaterals = new List<AuctionAssignmentToCollateral>()
{
new AuctionAssignmentToCollateral()
{
AuctionAssignmentId = 1,
CollateralId = 1
}
}
}
}
};
var slip = new RepoAccountProcessingSlip()
{
AuctionAssignments = new List<AuctionAssignment>()
{
new AuctionAssignment()
{
AutoIMS = new ImsAutoFileData()
{
FundsSent = DateTime.Now.AddDays(-2)
}
}
},
ExistingRepoAccount = new RepoAccount(),
UpdatedRepoAccount = updatedRepoAccount
};
var result = _soldNoProceedsChecker.CheckForAlert(slip);
Assert.Null(result);
}
[Fact]
public void Sold_No_Proceeds_Not_Created_No_AuctionAssignments()
{
var updatedRepoAccount = new RepoAccount()
{
Collaterals = new List<Collateral>()
{
new Collateral()
}
};
var slip = new RepoAccountProcessingSlip()
{
AuctionAssignments = new List<AuctionAssignment>()
{
new AuctionAssignment()
{
AutoIMS = new ImsAutoFileData()
{
FundsSent = DateTime.Now.AddDays(-2)
}
}
},
ExistingRepoAccount = new RepoAccount(),
UpdatedRepoAccount = updatedRepoAccount
};
var result = _soldNoProceedsChecker.CheckForAlert(slip);
Assert.Null(result);
}
}
}