Adjust test
Some checks failed
Code Coverage / Generate Coverage Report (push) Has been cancelled
Tests / Run Tests (9.0.x) (push) Has been cancelled
Tests / Docker Build Test (push) Has been cancelled
Tests / Test Summary (push) Has been cancelled

This commit is contained in:
Yaojia Wang
2025-11-03 22:29:31 +01:00
parent 4594ebef84
commit 312df4b70e
8 changed files with 1972 additions and 44 deletions

View File

@@ -6,10 +6,17 @@ namespace ColaFlow.Modules.Identity.Infrastructure.Services;
/// <summary>
/// Mock email service for development/testing that logs emails instead of sending them
/// Captures sent emails for testing purposes
/// </summary>
public sealed class MockEmailService : IEmailService
{
private readonly ILogger<MockEmailService> _logger;
private readonly List<EmailMessage> _sentEmails = new();
/// <summary>
/// Gets the list of emails sent by this service (for testing)
/// </summary>
public IReadOnlyList<EmailMessage> SentEmails => _sentEmails.AsReadOnly();
public MockEmailService(ILogger<MockEmailService> logger)
{
@@ -18,6 +25,9 @@ public sealed class MockEmailService : IEmailService
public Task<bool> SendEmailAsync(EmailMessage message, CancellationToken cancellationToken = default)
{
// Capture the email for testing
_sentEmails.Add(message);
_logger.LogInformation(
"[MOCK EMAIL] To: {To}, Subject: {Subject}, From: {From}",
message.To,
@@ -31,4 +41,12 @@ public sealed class MockEmailService : IEmailService
// Simulate successful send
return Task.FromResult(true);
}
/// <summary>
/// Clears the list of sent emails (for testing)
/// </summary>
public void ClearSentEmails()
{
_sentEmails.Clear();
}
}