Files
monorepo/LCU.API.Collections.RepoApi-old/LCU.API.Collections.RepoApiTests/EmailerTest.cs
T
2026-04-20 14:47:24 -05:00

54 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Net.Http;
using LCU.API.Collections.RepoApi;
using LCU.API.Collections.RepoApi.Configuration;
using LCU.API.Collections.RepoApi.Services;
using LCU.Shared.Collections.RepoApiLib.Models;
using Moq;
using Xunit;
namespace LCU.API.Collections.RepoApiTests
{
public class EmailerTest
{
private readonly Mock<IHttpClientFactory> _mockHttpClientFactory;
private readonly Mock<IEventAlertService> _mockEventAlertService;
private readonly IEmailer emailer;
public EmailerTest()
{
var mockConsumerConfiguration = new Mock<RepoApiConfiguration>();
_mockHttpClientFactory = new Mock<IHttpClientFactory>();
_mockEventAlertService = new Mock<IEventAlertService>();
emailer = new Emailer(_mockHttpClientFactory.Object, mockConsumerConfiguration.Object,
_mockEventAlertService.Object);
}
[Fact]
public async System.Threading.Tasks.Task Update_Hourly_Alert_Email_SuccessAsync()
{
var testAlerts = new List<EventAlert>()
{
new EventAlert()
{
DateAdded = DateTime.Now,
AccountNo = "123456-134",
RepoId = 777777,
Message = "Alert Message"
}
};
_mockEventAlertService.Setup(service =>
service.ListWithinDateRange(It.IsAny<DateTime>(), It.IsAny<DateTime>()))
.ReturnsAsync(testAlerts);
var endTime = DateTime.Now;
await emailer.SendAlertSummaryEmailWithEndTime(endTime);
_mockEventAlertService.Verify(
foo => foo.ListWithinDateRange(It.IsAny<DateTime>(), It.IsAny<DateTime>()), Times.Once);
Assert.NotNull(emailer);
}
}
}