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

126 lines
5.2 KiB
C#

using System;
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using NUnit.Framework;
using Moq;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels;
using LCU.Api.Internal.CoreApiWrapper.Services;
using LCU.Library.Internal.CoreApiWrapperLib.DataAccess;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.AccessChannelPersons;
namespace LCU.Api.Internal.CoreApiWrapperTest.Service
{
public class AccessChannelPersonsServiceTest
{
private readonly AccessChannelPersonsService _accessChannelPersonsService;
private readonly Mock<IAccessChannelPersonsDao> _mockAccessChannelPersonsDao;
public AccessChannelPersonsServiceTest()
{
_mockAccessChannelPersonsDao = new Mock<IAccessChannelPersonsDao>();
_accessChannelPersonsService = new AccessChannelPersonsService(_mockAccessChannelPersonsDao.Object);
}
[Test]
public void GetAccessChannelPersonCoreApiResponseAsync_ExceptionThrown()
{
_mockAccessChannelPersonsDao.Setup(x => x.FindAccessChannelPersonsByPerson(It.IsAny<CoreRequestParameters>(),
It.IsAny<AccessChannelPersonsByPersonRequest>()))
.Throws(new Exception("Oops"));
Assert.ThrowsAsync<Exception>(async () =>
await _accessChannelPersonsService.GetAccessChannelPersonCoreApiResponseAsync(new AccessChannelPersonsByPersonRequest()));
}
[Test]
public async Task GetAccessChannelPersonCoreApiResponseAsync_UserFieldsReturned()
{
var accessChannelPersons = new List<AccessChannelPerson>()
{
new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
},
new AccessChannelPerson()
{
ChannelNumber = 4,
PersonNumber = 5,
UserId = "6"
}
};
var coreMessageheader = new CoreMessageHeader();
var coreApiResponse = new CoreApiMessage<IEnumerable<AccessChannelPerson>>(coreMessageheader, accessChannelPersons);
_mockAccessChannelPersonsDao.Setup(x => x.FindAccessChannelPersonsByPerson(It.IsAny<CoreRequestParameters>(),
It.IsAny<AccessChannelPersonsByPersonRequest>()))
.ReturnsAsync(coreApiResponse);
var accessChannelPersonsByPersonRequest = new AccessChannelPersonsByPersonRequest();
var result = await _accessChannelPersonsService.GetAccessChannelPersonCoreApiResponseAsync(accessChannelPersonsByPersonRequest);
Assert.NotNull(result);
Assert.AreEqual(2, result.MessageBody.Count());
}
[Test]
public void UpdateAccountChannelPersonAsync_ExceptionThrown()
{
_mockAccessChannelPersonsDao.Setup(x => x.UpdateAccessChannelPerson(It.IsAny<CoreApiMessage<AccessChannelPerson>>()))
.Throws(new Exception("Oops"));
var request = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
Assert.ThrowsAsync<Exception>(async () =>
await _accessChannelPersonsService.UpdateAccessChannelPersonAsync(request, 10002312312));
}
[Test]
public void UpdateAccountChannelPersonAsync_NullResult_ExceptionThrown()
{
AccessChannelPerson response = null;
_mockAccessChannelPersonsDao.Setup(x => x.UpdateAccessChannelPerson(It.IsAny<CoreApiMessage<AccessChannelPerson>>()))
.ReturnsAsync(response);
var request = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
Assert.ThrowsAsync<Exception>(async () =>
await _accessChannelPersonsService.UpdateAccessChannelPersonAsync(request, 10002312312));
}
[Test]
public async Task UpdateAccountChannelPersonAsync_UpdatedUserFieldsReturned()
{
var response = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
_mockAccessChannelPersonsDao.Setup(x => x.UpdateAccessChannelPerson(It.IsAny<CoreApiMessage<AccessChannelPerson>>()))
.ReturnsAsync(response);
var request = new AccessChannelPerson()
{
ChannelNumber = 1,
PersonNumber = 2,
UserId = "3"
};
var result = await _accessChannelPersonsService.UpdateAccessChannelPersonAsync(request, 10002312312);
Assert.NotNull(result);
Assert.AreEqual(response, result);
}
}
}