chore: deploy initial code base

This commit is contained in:
Thom Lamb
2026-05-12 10:34:30 -05:00
parent cce2961782
commit a81300a571
1829 changed files with 248331 additions and 1 deletions
@@ -0,0 +1,111 @@
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 QviLineItemSavingsControllerTests
{
private Mock<IQviLineItemSavingsService> _serviceMock;
private QviLineItemSavingsController _controller;
[SetUp]
public void SetUp()
{
_serviceMock = new Mock<IQviLineItemSavingsService>();
_controller = new QviLineItemSavingsController(_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 QviLineItemCaseTypeFamilyInfo { QualityVariationEventId = 1, CaseTypeFamilyId = 2 } };
_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<QviLineItemCaseTypeFamilyInfo>;
value.Should().NotBeNull();
value!.Single().CaseTypeFamilyId.Should().Be(2);
_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 QviLineItemDrgTypeInfo { DrgType = "APR" } };
_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<QviLineItemDrgTypeInfo>;
value.Should().NotBeNull();
value!.Single().DrgType.Should().Be("APR");
_serviceMock.Verify(s => s.GetDrgTypeInfoAsync(configurationGuid, true, It.IsAny<CancellationToken>()), Times.Once);
}
[Test]
public async Task GetEncounterSavings_WhenConfigurationGuidIsEmpty_ReturnsBadRequest()
{
var result = await _controller.GetEncounterSavings(Guid.Empty, cancellationToken: CancellationToken.None);
result.Result.Should().BeOfType<BadRequestObjectResult>();
_serviceMock.Verify(s => s.GetEncounterSavingInfoAsync(It.IsAny<Guid>(), It.IsAny<Guid?>(), It.IsAny<bool?>(), It.IsAny<CancellationToken>()), Times.Never);
}
[Test]
public async Task GetEncounterSavings_WhenConfigurationGuidIsValid_ReturnsOk()
{
var configurationGuid = Guid.NewGuid();
var expected = new[] { new QviLineItemEncounterSavingInfo { EncounterRecordNumber = "enc-1" } };
_serviceMock
.Setup(s => s.GetEncounterSavingInfoAsync(configurationGuid, It.IsAny<Guid?>(), It.IsAny<bool?>(), It.IsAny<CancellationToken>()))
.ReturnsAsync(expected);
var result = await _controller.GetEncounterSavings(configurationGuid, cancellationToken: CancellationToken.None);
result.Result.Should().BeOfType<OkObjectResult>();
var okResult = result.Result as OkObjectResult;
var value = okResult?.Value as System.Collections.Generic.IEnumerable<QviLineItemEncounterSavingInfo>;
value.Should().NotBeNull();
value!.Single().EncounterRecordNumber.Should().Be("enc-1");
_serviceMock.Verify(s => s.GetEncounterSavingInfoAsync(configurationGuid, null, null, It.IsAny<CancellationToken>()), Times.Once);
}
}
}