Files
2026-03-17 09:53:09 -05:00

65 lines
2.1 KiB
C#

using System.Threading.Tasks;
using LCU.API.Internal.Operations.IncentiveApi.Services;
using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.Library.Internal.IncentiveApiModels.Enums;
using Microsoft.AspNetCore.Mvc;
using Moq;
using NUnit.Framework;
using LCU.API.Internal.Operations.IncentiveApi.Controllers;
using LCU.API.Internal.Operations.IncentiveApi.Exceptions;
namespace Application.UnitTests.Controllers
{
public class DeadActiviyControlerTest
{
private DeadActivityController _controller;
private Mock<IDeadActivityService> _mockDeadActivityService;
[SetUp]
public void SetUp()
{
_mockDeadActivityService = new Mock<IDeadActivityService>();
_controller = new DeadActivityController(_mockDeadActivityService.Object);
}
[Test]
public async Task Get_Single_Ok()
{
_mockDeadActivityService.Setup(x => x.GetDeadActivity(5))
.ReturnsAsync(new DeadActivity(new Activity()
{
Id = 5,
Detail = new ActivityDetail()
}, DeadActivityReason.Other, "Test"));
var result = await _controller.Get(5);
Assert.NotNull(result);
var okResult = result as OkObjectResult;
Assert.NotNull(okResult);
Assert.AreEqual(200, okResult.StatusCode);
var value = okResult.Value as DeadActivity;
Assert.NotNull(value);
Assert.AreEqual("Test", value.ReasonNote);
}
[Test]
public async Task Get_Single_NotFound()
{
_mockDeadActivityService.Setup(x => x.GetDeadActivity(It.IsAny<int>()))
.ThrowsAsync(new NotFoundException("Not Found"));
var result = await _controller.Get(1);
Assert.NotNull(result);
var badRequestResult = result as BadRequestObjectResult;
Assert.NotNull(badRequestResult);
Assert.AreEqual(400, badRequestResult.StatusCode);
Assert.AreEqual("DeadActivity Not Found.", badRequestResult.Value);
}
}
}