refactor(tests): replace static sample emails with Bogus-generated random emails

This commit is contained in:
tekh 2025-08-29 13:12:33 +02:00
parent ac501dffb1
commit 954eff7101

View File

@ -1,4 +1,6 @@
using EnvelopeGenerator.Application;
using Bogus;
using Bogus.DataSets;
using EnvelopeGenerator.Application;
using EnvelopeGenerator.Application.Receivers.Commands;
using EnvelopeGenerator.Infrastructure;
using MediatR;
@ -11,6 +13,8 @@ namespace EnvelopeGenerator.Tests.Application;
public class Fake
{
public static readonly Faker Provider = new("de");
public static Host CreateHost() => Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder()
.ConfigureAppConfiguration((context, config) =>
{
@ -72,20 +76,7 @@ public class Fake
public async Task AddSampleReceivers()
{
var mediator = Mediator;
var emails = new[]
{
"max.mueller@email.de",
"anna.schmidt@email.de",
"lukas.schneider@email.de",
"sophia.fischer@email.de",
"jonas.weber@email.de",
"lea.hoffmann@email.de",
"felix.wagner@email.de",
"mia.becker@email.de",
"paul.schulz@email.de",
"lena.koch@email.de"
};
foreach (var email in emails)
foreach (var email in Provider.Internet.EMailList())
{
var cmd = new CreateReceiverCommand { EmailAddress = email };
var (Id, _) = await mediator.Send(cmd);
@ -99,4 +90,9 @@ public class Fake
public static class Extensions
{
public static Fake.Host ToFake(this IHost host) => new(host);
public static IEnumerable<string> EMailList(this Internet internet, int minCount = 10, int maxCount = 20)
=> Enumerable.Range(0, Fake.Provider.Random.Number(minCount, maxCount))
.Select(_ => internet.Email())
.ToList();
}