Files
2026-03-31 14:32:23 -05:00

53 lines
1.8 KiB
C#

using System;
using System.Threading.Tasks;
using NUnit.Framework;
using Moq;
using LCU.Api.Internal.CoreApiWrapper.Services;
using LCU.Library.Internal.CoreApiWrapperLib.DataAccess;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Associate;
using LCU.Library.Internal.Exceptions;
namespace LCU.Api.Internal.CoreApiWrapperTest.Service
{
public class AssociateServiceTest
{
private readonly AssociateService _associateService;
private readonly Mock<IAssociateDao> _mockAssociateDao;
public AssociateServiceTest()
{
_mockAssociateDao = new Mock<IAssociateDao>();
_associateService = new AssociateService(_mockAssociateDao.Object);
}
[Test]
public void GetAssociateDetailsBySsn_Exception_Returns_Null()
{
var taxId = Guid.NewGuid().ToString();
_mockAssociateDao.Setup(x => x.GetAssociateDetailsBySsn(It.IsAny<string>())).Throws(new Exception());
Assert.ThrowsAsync<ServiceException>(() => _associateService.GetAssociateDetailsBySsn(taxId));
}
[Test]
public async Task GetAssociateDetailsBySsn_Returns_PersonAssociateDetails()
{
var taxId = Guid.NewGuid().ToString();
var associateDetails = new AssociateDetails
{
PersonNumber = DateTime.Now.Millisecond
};
_mockAssociateDao.Setup(x => x.GetAssociateDetailsBySsn(It.IsAny<string>())).ReturnsAsync(associateDetails).Verifiable();
var result = await _associateService.GetAssociateDetailsBySsn(taxId);
Assert.NotNull(result);
Assert.AreEqual(associateDetails.PersonNumber, result.PersonNumber);
_mockAssociateDao.Verify();
}
}
}