114 lines
5.2 KiB
C#
114 lines
5.2 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Services.QueueServices;
|
|
using LCU.Library.Internal.Exceptions;
|
|
using LCU.Library.Internal.IncentiveApiModels.Requests;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Controllers;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Services;
|
|
|
|
namespace Application.UnitTests.Controllers
|
|
{
|
|
public class ActivityImportControllerTest
|
|
{
|
|
private ActivityImportController _controller;
|
|
private Mock<IQueueCreditCardImportService> _mockQueueCreditCardImportService;
|
|
private Mock<IQueueIndirectVehicleImportService> _mockQueueVehicleImportService;
|
|
private Mock<IQueueAlliedGapMbpService> _mockQueueAlliedGapMbpService;
|
|
private Mock<IQueueActionCreditCardService> _mockQueueActionCreditCardService;
|
|
private Mock<IQueueActionVehicleService> _mockQueueActionVehicleService;
|
|
private Mock<IEStatementService> _mockEStatementService;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
_mockQueueCreditCardImportService = new Mock<IQueueCreditCardImportService>();
|
|
_mockQueueVehicleImportService = new Mock<IQueueIndirectVehicleImportService>();
|
|
_mockQueueActionVehicleService = new Mock<IQueueActionVehicleService>();
|
|
_mockQueueActionCreditCardService = new Mock<IQueueActionCreditCardService>();
|
|
_mockQueueAlliedGapMbpService = new Mock<IQueueAlliedGapMbpService>();
|
|
_controller = new ActivityImportController(_mockQueueCreditCardImportService.Object, _mockQueueVehicleImportService.Object,
|
|
_mockQueueActionCreditCardService.Object,
|
|
_mockQueueActionVehicleService.Object, _mockQueueAlliedGapMbpService.Object);
|
|
}
|
|
|
|
[Test]
|
|
public async Task QueueCreditCardImportRequest_Accepted()
|
|
{
|
|
_mockQueueCreditCardImportService.Setup(x => x.QueueCreditCardSalesImport(It.IsAny<ImportCreditCardSalesRequest>()));
|
|
|
|
var result = await _controller.QueueCreditCardImportRequest(It.IsAny<ImportCreditCardSalesRequest>());
|
|
|
|
var acceptedResult = result as AcceptedResult;
|
|
Assert.NotNull(acceptedResult);
|
|
Assert.AreEqual(202, acceptedResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task QueueCreditCardImportRequest_ServiceFails_ServiceException()
|
|
{
|
|
_mockQueueCreditCardImportService.Setup(x => x.QueueCreditCardSalesImport(It.IsAny<ImportCreditCardSalesRequest>()))
|
|
.ThrowsAsync(new ServiceException("Failure"));
|
|
|
|
var result = await _controller.QueueCreditCardImportRequest(It.IsAny<ImportCreditCardSalesRequest>());
|
|
|
|
var objectResult = result as ObjectResult;
|
|
Assert.NotNull(objectResult);
|
|
Assert.AreEqual(500, objectResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task QueueCreditCardImportRequest_ServiceFails_Exception()
|
|
{
|
|
_mockQueueCreditCardImportService.Setup(x => x.QueueCreditCardSalesImport(It.IsAny<ImportCreditCardSalesRequest>()))
|
|
.ThrowsAsync(new Exception("Failure"));
|
|
|
|
var result = await _controller.QueueCreditCardImportRequest(It.IsAny<ImportCreditCardSalesRequest>());
|
|
|
|
var objectResult = result as StatusCodeResult;
|
|
Assert.NotNull(objectResult);
|
|
Assert.AreEqual(500, objectResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task QueueIndirectVehicleImportRequest_Accepted()
|
|
{
|
|
_mockQueueVehicleImportService.Setup(x => x.QueueIndirectVehicleSalesImport(It.IsAny<ImportIndirectVehicleSalesRequest>()));
|
|
|
|
var result = await _controller.QueueIndirectVehicleImportRequest(It.IsAny<ImportIndirectVehicleSalesRequest>());
|
|
|
|
var acceptedResult = result as AcceptedResult;
|
|
Assert.NotNull(acceptedResult);
|
|
Assert.AreEqual(202, acceptedResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task QueueIndirectVehicleImportRequest_ServiceFails_ServiceException()
|
|
{
|
|
_mockQueueVehicleImportService.Setup(x => x.QueueIndirectVehicleSalesImport(It.IsAny<ImportIndirectVehicleSalesRequest>()))
|
|
.ThrowsAsync(new ServiceException("Failure"));
|
|
|
|
var result = await _controller.QueueIndirectVehicleImportRequest(It.IsAny<ImportIndirectVehicleSalesRequest>());
|
|
|
|
var objectResult = result as ObjectResult;
|
|
Assert.NotNull(objectResult);
|
|
Assert.AreEqual(500, objectResult.StatusCode);
|
|
}
|
|
|
|
[Test]
|
|
public async Task QueueeIndirectVehicleImportRequest_ServiceFails_Exception()
|
|
{
|
|
_mockQueueVehicleImportService.Setup(x => x.QueueIndirectVehicleSalesImport(It.IsAny<ImportIndirectVehicleSalesRequest>()))
|
|
.ThrowsAsync(new Exception("Failure"));
|
|
|
|
var result = await _controller.QueueIndirectVehicleImportRequest(It.IsAny<ImportIndirectVehicleSalesRequest>());
|
|
|
|
var objectResult = result as StatusCodeResult;
|
|
Assert.NotNull(objectResult);
|
|
Assert.AreEqual(500, objectResult.StatusCode);
|
|
}
|
|
}
|
|
}
|