Template
chore: deploy initial code base
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
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 QviEncountersControllerTests
|
||||
{
|
||||
private Mock<IQviEncounterService> _serviceMock;
|
||||
private QviEncountersController _controller;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp()
|
||||
{
|
||||
_serviceMock = new Mock<IQviEncounterService>();
|
||||
_controller = new QviEncountersController(_serviceMock.Object);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Get_WhenConfigurationGuidIsEmpty_ReturnsBadRequest()
|
||||
{
|
||||
var result = await _controller.Get(Guid.Empty, DateTime.UtcNow, DateTime.UtcNow, CancellationToken.None);
|
||||
|
||||
result.Result.Should().BeOfType<BadRequestObjectResult>();
|
||||
_serviceMock.Verify(s => s.GetEncounterInfoAsync(It.IsAny<Guid>(), It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<CancellationToken>()), Times.Never);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Get_WhenConfigurationGuidIsValid_ReturnsOk()
|
||||
{
|
||||
var configurationGuid = Guid.NewGuid();
|
||||
var startDate = new DateTime(2024, 1, 1);
|
||||
var endDate = new DateTime(2024, 12, 31);
|
||||
var expected = new[] { new EncounterInfo { EncounterId = 11, EncounterRecordNumber = "enc-11" } };
|
||||
_serviceMock
|
||||
.Setup(s => s.GetEncounterInfoAsync(configurationGuid, startDate, endDate, It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(expected);
|
||||
|
||||
var result = await _controller.Get(configurationGuid, startDate, endDate, CancellationToken.None);
|
||||
|
||||
result.Result.Should().BeOfType<OkObjectResult>();
|
||||
var okResult = result.Result as OkObjectResult;
|
||||
var value = okResult?.Value as System.Collections.Generic.IEnumerable<EncounterInfo>;
|
||||
value.Should().NotBeNull();
|
||||
value!.Single().EncounterId.Should().Be(11);
|
||||
_serviceMock.Verify(s => s.GetEncounterInfoAsync(configurationGuid, startDate, endDate, It.IsAny<CancellationToken>()), Times.Once);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user