Template
84 lines
3.2 KiB
C#
84 lines
3.2 KiB
C#
using FluentAssertions;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using Strata.ContinuousImprovement.Api.Controllers.JazzQvi;
|
|
using Strata.ContinuousImprovement.Biz.QualityVariation.QVI;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Strata.ContinuousImprovement.Api.Test.Unit.Controllers
|
|
{
|
|
[TestFixture, Category("Unit"), Category("Controller")]
|
|
public class NonQviSavingsControllerTests
|
|
{
|
|
private Mock<INonQviSavingsService> _serviceMock;
|
|
private NonQviSavingsController _controller;
|
|
|
|
[SetUp]
|
|
public void SetUp()
|
|
{
|
|
_serviceMock = new Mock<INonQviSavingsService>();
|
|
_controller = new NonQviSavingsController(_serviceMock.Object);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetCaseTypeFamilies_WhenConfigurationGuidIsEmpty_ReturnsBadRequest()
|
|
{
|
|
var result = await _controller.GetCaseTypeFamilies(Guid.Empty, false, CancellationToken.None);
|
|
|
|
result.Result.Should().BeOfType<BadRequestObjectResult>();
|
|
_serviceMock.Verify(s => s.GetCaseTypeFamilyInfoAsync(It.IsAny<Guid>(), It.IsAny<bool>(), It.IsAny<CancellationToken>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetCaseTypeFamilies_WhenConfigurationGuidIsValid_ReturnsOk()
|
|
{
|
|
var configurationGuid = Guid.NewGuid();
|
|
var expected = new[] { new NonQviCaseTypeFamilyInfo { CaseTypeFamilyId = 1, CaseCount = 5 } };
|
|
_serviceMock
|
|
.Setup(s => s.GetCaseTypeFamilyInfoAsync(configurationGuid, true, It.IsAny<CancellationToken>()))
|
|
.ReturnsAsync(expected);
|
|
|
|
var result = await _controller.GetCaseTypeFamilies(configurationGuid, true, CancellationToken.None);
|
|
|
|
result.Result.Should().BeOfType<OkObjectResult>();
|
|
var okResult = result.Result as OkObjectResult;
|
|
var value = okResult?.Value as System.Collections.Generic.IEnumerable<NonQviCaseTypeFamilyInfo>;
|
|
value.Should().NotBeNull();
|
|
value!.Single().CaseTypeFamilyId.Should().Be(1);
|
|
_serviceMock.Verify(s => s.GetCaseTypeFamilyInfoAsync(configurationGuid, true, It.IsAny<CancellationToken>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetDrgTypes_WhenConfigurationGuidIsEmpty_ReturnsBadRequest()
|
|
{
|
|
var result = await _controller.GetDrgTypes(Guid.Empty, false, CancellationToken.None);
|
|
|
|
result.Result.Should().BeOfType<BadRequestObjectResult>();
|
|
_serviceMock.Verify(s => s.GetDrgTypeInfoAsync(It.IsAny<Guid>(), It.IsAny<bool>(), It.IsAny<CancellationToken>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetDrgTypes_WhenConfigurationGuidIsValid_ReturnsOk()
|
|
{
|
|
var configurationGuid = Guid.NewGuid();
|
|
var expected = new[] { new NonQviDrgTypeInfo { DrgType = "MS" } };
|
|
_serviceMock
|
|
.Setup(s => s.GetDrgTypeInfoAsync(configurationGuid, true, It.IsAny<CancellationToken>()))
|
|
.ReturnsAsync(expected);
|
|
|
|
var result = await _controller.GetDrgTypes(configurationGuid, true, CancellationToken.None);
|
|
|
|
result.Result.Should().BeOfType<OkObjectResult>();
|
|
var okResult = result.Result as OkObjectResult;
|
|
var value = okResult?.Value as System.Collections.Generic.IEnumerable<NonQviDrgTypeInfo>;
|
|
value.Should().NotBeNull();
|
|
value!.Single().DrgType.Should().Be("MS");
|
|
_serviceMock.Verify(s => s.GetDrgTypeInfoAsync(configurationGuid, true, It.IsAny<CancellationToken>()), Times.Once);
|
|
}
|
|
}
|
|
}
|