81 lines
3.0 KiB
C#
81 lines
3.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using LCU.API.Collections.RepoApi.Controllers;
|
|
using LCU.API.Collections.RepoApi.Services;
|
|
using LCU.Shared.Collections.RepoApiLib.Models;
|
|
using LCU.Shared.Collections.RepoApiLib.Models.Producer;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Xunit;
|
|
using Moq;
|
|
namespace LCU.API.Collections.RepoApiTests.Controllers
|
|
{
|
|
public class ProcessingReceiptControllerTest
|
|
{
|
|
List<ProcessingReceipt> list = new List<ProcessingReceipt>()
|
|
{
|
|
new ProcessingReceipt("123456-888")
|
|
{
|
|
Message = "x",
|
|
Outcome = RepoProcessingResult.Error,
|
|
Processed = DateTime.Now,
|
|
AccountId = "321",
|
|
CaseId = "",
|
|
QueuedBy = "Testing"
|
|
},
|
|
new ProcessingReceipt("123456-888")
|
|
{
|
|
Message = "y",
|
|
Outcome = RepoProcessingResult.Created,
|
|
Processed = DateTime.Now,
|
|
AccountId = "",
|
|
CaseId = "",
|
|
QueuedBy = "Testing"
|
|
}
|
|
};
|
|
private readonly Mock<IProcessingReceiptService> _mockReceiptService;
|
|
private readonly ProcessingReceiptController _controller;
|
|
|
|
public ProcessingReceiptControllerTest()
|
|
{
|
|
_mockReceiptService = new Mock<IProcessingReceiptService>();
|
|
var mockHttpContextAccessor = new Mock<HttpContextAccessor>();
|
|
_controller = new ProcessingReceiptController(_mockReceiptService.Object, mockHttpContextAccessor.Object);
|
|
}
|
|
|
|
[Fact]
|
|
public async void GetByAccountNo_OK()
|
|
{
|
|
_mockReceiptService.Setup(service => service.GetReceiptsByAccountNoAsync(It.IsAny<string>()))
|
|
.ReturnsAsync(list);
|
|
|
|
var results = await _controller.GetByAccountNo("123456-888");
|
|
var okresults = results as OkObjectResult;
|
|
Assert.NotNull(okresults);
|
|
Assert.Equal(200, okresults.StatusCode);
|
|
}
|
|
|
|
[Fact]
|
|
public async void GetByAccountNo_NotFound()
|
|
{
|
|
_mockReceiptService.Setup(service => service.GetReceiptsByAccountNoAsync(It.IsAny<string>()))
|
|
.ReturnsAsync(new List<ProcessingReceipt>{});
|
|
|
|
var results = await _controller.GetByAccountNo("123456-888");
|
|
var objectResult = results as ObjectResult;
|
|
Assert.NotNull(objectResult);
|
|
Assert.IsType<NotFoundObjectResult>(objectResult);
|
|
}
|
|
|
|
[Fact]
|
|
public async void GetByAccountNo_ServerException()
|
|
{
|
|
_mockReceiptService.Setup(service => service.GetReceiptsByAccountNoAsync(It.IsAny<string>())).ThrowsAsync(new Exception("oops"));
|
|
|
|
var results = await _controller.GetByAccountNo("123456-888");
|
|
var objectResult = results as StatusCodeResult;
|
|
Assert.NotNull(objectResult);
|
|
Assert.Equal(500, objectResult.StatusCode);
|
|
}
|
|
}
|
|
} |