103 lines
4.8 KiB
C#
103 lines
4.8 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using LCU.Library.Internal.Exceptions;
|
|
using LCU.API.Internal.DocumentIngestor.Services.MicroApiServices;
|
|
using LCU.API.Internal.DocumentIngestor.DataAccess;
|
|
using LCU.API.Internal.DocumentIngestor.Models.MemberPreferencesDtos;
|
|
namespace LCU.API.Internal.DocumentIngestorTests.Services.MicroApiServices;
|
|
|
|
public class MemberPreferencesApiServiceTest
|
|
{
|
|
private MemberPreferencesApiService _memberPreferencesApiService;
|
|
private Mock<IMemberPreferencesApiDao> _mockMemberPreferencesApiDao;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
_mockMemberPreferencesApiDao = new Mock<IMemberPreferencesApiDao>();
|
|
_memberPreferencesApiService = new MemberPreferencesApiService(_mockMemberPreferencesApiDao.Object);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetMemberOptInAgreementInfoByUserId_Return()
|
|
{
|
|
var memberOptInAgreementInformation = new MemberOptInAgreementInformation();
|
|
_mockMemberPreferencesApiDao.Setup(x => x.GetMemberOptInAgreementInfoByUserId(It.IsAny<string>())).ReturnsAsync(memberOptInAgreementInformation);
|
|
|
|
var response = await _memberPreferencesApiService.GetMemberOptInAgreementInfoByUserId("11");
|
|
Assert.IsNotNull(response);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.GetMemberOptInAgreementInfoByUserId(It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetMemberOptInAgreementInfoByUserId_Exception()
|
|
{
|
|
_mockMemberPreferencesApiDao.Setup(x => x.GetMemberOptInAgreementInfoByUserId(It.IsAny<string>())).ThrowsAsync(new Exception("Error"));
|
|
|
|
Assert.ThrowsAsync<ServiceException>(async () => await _memberPreferencesApiService.GetMemberOptInAgreementInfoByUserId("11"));
|
|
_mockMemberPreferencesApiDao.Verify(x => x.GetMemberOptInAgreementInfoByUserId(It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetMemberOptInSettingsByUserId_Return()
|
|
{
|
|
var memberOptInSettings = new MemberOptInInformation();
|
|
_mockMemberPreferencesApiDao.Setup(x => x.GetMemberOptInSettingsByUserId(It.IsAny<string>())).ReturnsAsync(memberOptInSettings);
|
|
|
|
var response = await _memberPreferencesApiService.GetMemberOptInSettingsByUserId("11");
|
|
Assert.IsNotNull(response);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.GetMemberOptInSettingsByUserId(It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public void GetMemberOptInSettingsByUserId_Exception()
|
|
{
|
|
_mockMemberPreferencesApiDao.Setup(x => x.GetMemberOptInSettingsByUserId(It.IsAny<string>())).ThrowsAsync(new Exception("Error"));
|
|
|
|
Assert.ThrowsAsync<ServiceException>(async () => await _memberPreferencesApiService.GetMemberOptInSettingsByUserId("11"));
|
|
_mockMemberPreferencesApiDao.Verify(x => x.GetMemberOptInSettingsByUserId(It.IsAny<string>()), Times.Once);
|
|
}
|
|
|
|
[Test]
|
|
public async Task EmailSuccessfulSend_Return()
|
|
{
|
|
var memberOptInSettings = new MemberOptInInformation();
|
|
_mockMemberPreferencesApiDao.Setup(x => x.EmailSuccessfulSend(It.IsAny<string>(), It.IsAny<string>()));
|
|
|
|
await _memberPreferencesApiService.EmailStatusSend("11", "[email protected]", true);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailSuccessfulSend(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailFailureSend(It.IsAny<string>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public void EmailSuccessfulSend_Exception()
|
|
{
|
|
_mockMemberPreferencesApiDao.Setup(x => x.EmailSuccessfulSend(It.IsAny<string>(), It.IsAny<string>())).ThrowsAsync(new Exception("Error"));
|
|
|
|
Assert.ThrowsAsync<ServiceException>(async () => await _memberPreferencesApiService.EmailStatusSend("11", "[email protected]", true));
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailSuccessfulSend(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailFailureSend(It.IsAny<string>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public async Task EmailFailureSend_Return()
|
|
{
|
|
_mockMemberPreferencesApiDao.Setup(x => x.EmailFailureSend(It.IsAny<string>(), It.IsAny<string>()));
|
|
|
|
await _memberPreferencesApiService.EmailStatusSend("11", "[email protected]", false);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailFailureSend(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailSuccessfulSend(It.IsAny<string>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
|
|
[Test]
|
|
public void EmailFailureSend_Exception()
|
|
{
|
|
_mockMemberPreferencesApiDao.Setup(x => x.EmailFailureSend(It.IsAny<string>(), It.IsAny<string>())).ThrowsAsync(new Exception("Error"));
|
|
|
|
Assert.ThrowsAsync<ServiceException>(async () => await _memberPreferencesApiService.EmailStatusSend("11", "[email protected]", false));
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailFailureSend(It.IsAny<string>(), It.IsAny<string>()), Times.Once);
|
|
_mockMemberPreferencesApiDao.Verify(x => x.EmailSuccessfulSend(It.IsAny<string>(), It.IsAny<string>()), Times.Never);
|
|
}
|
|
} |