91 lines
3.1 KiB
C#
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);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
} |