72 lines
2.9 KiB
C#
72 lines
2.9 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using LCU.API.Internal.Operations.IncentiveApiLib.Repositories;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Services;
|
|
using LCU.Library.Internal.IncentiveApiModels.Entities;
|
|
using LCU.Library.Internal.IncentiveApiModels.Enums;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
|
|
namespace Application.UnitTests.Services
|
|
{
|
|
public class ProcessorHistoryServiceTest
|
|
{
|
|
private ProcessorHistoryService _processorHistoryService;
|
|
private Mock<IProcessorHistoryRepository> _mockRepository;
|
|
|
|
public ProcessorHistoryServiceTest()
|
|
{
|
|
_mockRepository = new Mock<IProcessorHistoryRepository>();
|
|
_processorHistoryService = new ProcessorHistoryService(_mockRepository.Object, new Mock<IUnitOfWork>().Object);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetProcessorHistory_OK()
|
|
{
|
|
_mockRepository.Setup(repo => repo.GetProcessorRunHistory(It.IsAny<Process>())).ReturnsAsync(new ProcessorHistoryRecord()
|
|
{
|
|
Process = Process.ImportCheckingAccountSalesFromDna,
|
|
LastProcessedRecordId = 5
|
|
}).Verifiable();
|
|
|
|
var res = await _processorHistoryService.GetProcessorHistory(Process.ImportCheckingAccountSalesFromDna);
|
|
Assert.AreEqual(Process.ImportCheckingAccountSalesFromDna, res.Process);
|
|
Assert.AreEqual(5, res.LastProcessedRecordId);
|
|
|
|
_mockRepository.Verify( x => x.GetProcessorRunHistory(It.Is<Process>(x => x == Process.ImportCheckingAccountSalesFromDna)));
|
|
}
|
|
|
|
[Test]
|
|
public void GetProcessorHistory_Exception()
|
|
{
|
|
_mockRepository.Setup(repo => repo.GetProcessorRunHistory(It.IsAny<Process>()))
|
|
.ThrowsAsync(new Exception("oops"));
|
|
Assert.ThrowsAsync<Exception>( async () => await _processorHistoryService.GetProcessorHistory(Process.ImportCheckingAccountSalesFromDna));
|
|
}
|
|
|
|
[Test]
|
|
public void SaveProcessorHistory_Exception()
|
|
{
|
|
_mockRepository.Setup(repo => repo.SaveProcessorRunHistory(It.IsAny<ProcessorHistoryRecord>()))
|
|
.ThrowsAsync(new Exception("Oops"));
|
|
|
|
Assert.ThrowsAsync<Exception>( async () => await _processorHistoryService.SaveProcessorHistory(new ProcessorHistoryRecord()
|
|
{
|
|
LastProcessedRecordId = 100
|
|
}));
|
|
}
|
|
|
|
[Test]
|
|
public async Task SaveProcessorHistory_OK()
|
|
{
|
|
_mockRepository.Setup(repo => repo.SaveProcessorRunHistory(It.IsAny<ProcessorHistoryRecord>())).ReturnsAsync(Process.ImportCheckingAccountSalesFromDna).Verifiable();
|
|
|
|
var res = await _processorHistoryService.SaveProcessorHistory(new ProcessorHistoryRecord()
|
|
{
|
|
LastProcessedRecordId = 100
|
|
});
|
|
Assert.AreEqual(Process.ImportCheckingAccountSalesFromDna, res);
|
|
}
|
|
}
|
|
}
|