Files
monorepo/LCU.Api.Internal.CoreApiWrapper/LCU.Api.Internal.CoreApiWrapperTest/Controllers/AccessChannelPersonsControllerTest.cs
T
2026-03-31 14:32:23 -05:00

129 lines
4.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Moq;
using NUnit.Framework;
using LCU.Api.Internal.CoreApiWrapper.Controllers;
using LCU.Api.Internal.CoreApiWrapper.Services;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.AccessChannelPersons;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels;
namespace LCU.Api.Internal.CoreApiWrapperTest.Controllers
{
public class AccessChannelPersonsControllerTest
{
private AccessChannelPersonsController _accessChannelPersonsController;
private Mock<IAccessChannelPersonsService> _mockAccessChannelPersonsService;
[SetUp]
public void SetUp()
{
_mockAccessChannelPersonsService = new Mock<IAccessChannelPersonsService>();
_accessChannelPersonsController = new AccessChannelPersonsController(_mockAccessChannelPersonsService.Object);
}
[Test]
public async Task GetAccessChannelPersons_OK()
{
var response = new List<AccessChannelPerson>()
{
new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
},
new AccessChannelPerson()
{
ChannelNumber = 4,
PersonNumber = 25,
UserId = "6"
}
};
var coreMessageHeader = new CoreMessageHeader(323000000000);
var coreApiMessage = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageHeader, response);
_mockAccessChannelPersonsService.Setup(x => x.GetAccessChannelPersonCoreApiResponseAsync(It.IsAny<AccessChannelPersonsByPersonRequest>()))
.ReturnsAsync(coreApiMessage);
var request = new AccessChannelPersonsByPersonRequest()
{
PersonNumber = 2
};
var results = await _accessChannelPersonsController.Get(request);
Assert.NotNull(results);
var okResult = results as OkObjectResult;
Assert.NotNull(okResult);
Assert.AreEqual(200, okResult.StatusCode);
}
[Test]
public async Task GetAccessChannelPersons_Exception()
{
_mockAccessChannelPersonsService.Setup(x => x.GetAccessChannelPersonCoreApiResponseAsync(It.IsAny<AccessChannelPersonsByPersonRequest>()))
.Throws(new Exception("Oops"));
var request = new AccessChannelPersonsByPersonRequest()
{
PersonNumber = 2
};
var results = await _accessChannelPersonsController.Get(request);
Assert.NotNull(results);
var badRes = results as BadRequestObjectResult;
Assert.NotNull(badRes);
Assert.AreEqual(400, badRes.StatusCode);
}
[Test]
public async Task PutAccessChannelPerson_OK()
{
var response = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
_mockAccessChannelPersonsService.Setup(x => x.UpdateAccessChannelPersonAsync(It.IsAny<AccessChannelPerson>(),
It.IsAny<long>()))
.ReturnsAsync(response);
var request = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
var results = await _accessChannelPersonsController.Put(request, 343432432400000000);
Assert.NotNull(results);
var okResult = results as OkObjectResult;
Assert.NotNull(okResult);
Assert.AreEqual(200, okResult.StatusCode);
}
[Test]
public async Task PutAccessChannelPerson_Exception()
{
_mockAccessChannelPersonsService.Setup(x => x.UpdateAccessChannelPersonAsync(It.IsAny<AccessChannelPerson>(),
It.IsAny<long>()))
.Throws(new Exception("Oops"));
var request = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
var results = await _accessChannelPersonsController.Put(request, 343432432400000000);
Assert.NotNull(results);
var badRes = results as BadRequestObjectResult;
Assert.NotNull(badRes);
Assert.AreEqual(400, badRes.StatusCode);
}
}
}