Files
monorepo/LCU.API.Internal.Document/LCU.API.Internal.DocumentTest/Services/NotificationApiServiceTest.cs
T
2026-03-13 09:11:35 -05:00

56 lines
1.8 KiB
C#

using System.Threading.Tasks;
using System;
using Moq;
using NUnit.Framework;
using LCU.Library.Internal.Exceptions;
using LCU.API.Internal.Document.Services;
using LCU.API.Internal.DocumentLib.DataAccess;
using LCU.API.Internal.NotificationsApiLib.Models;
using System.Collections.Generic;
namespace LCU.API.Internal.DocumentTest.Services;
public class NotificationApiServiceTest
{
private NotificationApiService _notificationApiService;
private Mock<INotificationApiDao> _mockNotificationApiDao;
[SetUp]
public void Setup()
{
_mockNotificationApiDao = new Mock<INotificationApiDao>();
_notificationApiService = new NotificationApiService(_mockNotificationApiDao.Object);
}
[Test]
public void SendEmailAsync_Exception()
{
_mockNotificationApiDao.Setup(x => x.SendEmailAsync(It.IsAny<EmailRequest>()))
.ThrowsAsync(new Exception("Error"));
var request = new EmailRequest()
{
Subject = "",
Body = "",
Recipient = new List<string>(new string[] {""})
};
Assert.ThrowsAsync<ServiceException>(async () => await _notificationApiService.SendEmailAsync(request));
_mockNotificationApiDao.Verify(x => x.SendEmailAsync(It.IsAny<EmailRequest>()), Times.Once);
}
[Test]
public async Task SendEmailAsync_Return()
{
_mockNotificationApiDao.Setup(x => x.SendEmailAsync(It.IsAny<EmailRequest>()));
var request = new EmailRequest()
{
Subject = "",
Body = "",
Recipient = new List<string>(new string[] { "" })
};
await _notificationApiService.SendEmailAsync(request);
_mockNotificationApiDao.Verify(x => x.SendEmailAsync(It.IsAny<EmailRequest>()), Times.Once);
}
}