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

91 lines
3.1 KiB
C#

using LCU.API.Collections.RepoApi.Services.AutoIms;
using LCU.Shared.Collections.RepoApiLib.Models;
using Moq;
using Xunit;
using AuctionAssignment = LCU.Shared.Collections.RepoApiLib.Models.AuctionAssignment;
namespace LCU.API.Collections.RepoApiTests.Processor
{
public class AutoImsAuctionProcessorServiceTest
{
private readonly Mock<IAuctionProcessorDao> mockAuctionProcessorDao;
private readonly IAutoImsAuctionProcessorService autoImsAuctionProcessorService;
public AutoImsAuctionProcessorServiceTest()
{
mockAuctionProcessorDao = new Mock<IAuctionProcessorDao>();
autoImsAuctionProcessorService =
new AutoImsAuctionProcessorService( mockAuctionProcessorDao.Object);
}
[Fact]
public void Basic_Construct_Test()
{
Assert.NotNull(autoImsAuctionProcessorService);
}
[Fact]
public void ImportSingleAutoImsAuction_NO_VIN_Test()
{
var singleItem = new ImsAutoFileData()
{
VIN = "1FMCU93G-19KB115 "
};
Assert.NotNull(autoImsAuctionProcessorService);
var result = autoImsAuctionProcessorService.ImportSingleAutoImsAuction(singleItem);
Assert.NotNull(result);
Assert.False(result.Success);
}
[Fact]
public void ImportSingleAutoImsAuction_Update_Test()
{
var incomingAutoFile = new ImsAutoFileData()
{
VIN = "1FMCU93G19KB11152",
AuctionCustomerNo = "12345-678",
AuctionAssignmentId = 99
};
var repoAccount = new RepoAccount()
{
RepoId = 1,
PrimaryIndividualId = "12345",
LoanNo = 678
};
var auctionAssignment = new AuctionAssignment()
{
ID = 99,
AutoIMS = new ImsAutoFileData()
{
}
};
var existingAutoFile = auctionAssignment.AutoIMS;
mockAuctionProcessorDao
.Setup(x => x.FindRepoForImsAuctionItem(incomingAutoFile))
.Returns(repoAccount);
mockAuctionProcessorDao.Setup(x => x.FindAuctionAssignment(incomingAutoFile))
.Returns(auctionAssignment);
mockAuctionProcessorDao.Setup(x => x.FindImsAuctionFileData(auctionAssignment.ID, incomingAutoFile.AuctionCustomerNo, incomingAutoFile.VIN))
.Returns( (ImsAutoFileData)null);
mockAuctionProcessorDao.Setup(x => x.FindByAuctionAssignmentIdAsync(auctionAssignment.ID))
.Returns(existingAutoFile);
mockAuctionProcessorDao.Setup( x =>x.UpdateExistingFile(existingAutoFile,incomingAutoFile)).Returns(incomingAutoFile);
mockAuctionProcessorDao.Setup( x =>x.Add(existingAutoFile)).Verifiable();
Assert.NotNull(autoImsAuctionProcessorService);
var result = autoImsAuctionProcessorService.ImportSingleAutoImsAuction(incomingAutoFile);
Assert.NotNull(result);
}
}
}