From 68878c0fc8eceb60c2f4a1c9ff8f3e646104bdc5 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 29 Aug 2025 14:57:51 +0200 Subject: [PATCH] =?UTF-8?q?feat(Fake):=20Erweiterung=20von=20Fake.Host=20u?= =?UTF-8?q?m=20Repository-Zugriff=20und=20Unterst=C3=BCtzung=20f=C3=BCr=20?= =?UTF-8?q?Beispielbenutzer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - IRepository-Verknüpfung zum Auflösen von Repositorys hinzugefügt - AddSamples()-Hilfsprogramm zum gemeinsamen Initialisieren von Empfängern und Benutzern eingeführt - SampleReceivers mit Validierungsüberwachung verbessert - Beispiel für Benutzerinitialisierung über Repository mit AddSampleUser() hinzugefügt - using-Anweisungen aktualisiert, um DigitalData.Core.Abstraction.Application.Repository und DigitalData.UserManager.Domain.Entities einzubeziehen --- EnvelopeGenerator.Tests.Application/Fake.cs | 38 +++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.Tests.Application/Fake.cs b/EnvelopeGenerator.Tests.Application/Fake.cs index 4bada8ad..fc8223e7 100644 --- a/EnvelopeGenerator.Tests.Application/Fake.cs +++ b/EnvelopeGenerator.Tests.Application/Fake.cs @@ -1,4 +1,6 @@ using Bogus; +using DigitalData.Core.Abstraction.Application.Repository; +using DigitalData.UserManager.Domain.Entities; using EnvelopeGenerator.Application; using EnvelopeGenerator.Application.Envelopes.Commands; using EnvelopeGenerator.Application.Receivers.Commands; @@ -67,14 +69,30 @@ public class Fake } #endregion + #region Shortcuts public IMediator Mediator => Services.GetRequiredService(); + public IRepository GetRepository() => Services.GetRequiredService>(); + + public async Task AddSamples() + { + await AddSampleReceivers(); + await AddSampleUser(); + return this; + } + #endregion + #region Sample Receivers public List<(int Id, string EmailAddress)> _sampleReceivers = new(); - public IEnumerable<(int Id, string EmailAddress)> SampleReceivers => _sampleReceivers; + public IEnumerable<(int Id, string EmailAddress)> SampleReceivers + => _sampleReceivers.Any() + ? _sampleReceivers + : throw new InvalidOperationException( + "No sample receivers have been initialized. Call AddSampleReceivers() before accessing this property." + ); - public async Task AddSampleReceivers() + public async Task AddSampleReceivers() { var mediator = Mediator; foreach (var cmd in Provider.CreateReceiverCommands()) @@ -82,6 +100,22 @@ public class Fake var (Id, _) = await mediator.Send(cmd); _sampleReceivers.Add((Id, cmd.EmailAddress)); } + return this; + } + #endregion + + #region Sample User + private User? _user; + + public User User => _user ?? throw new InvalidOperationException( + "The 'User' instance has not been initialized. Call AddSampleUser() before accessing this property."); + + public async Task AddSampleUser() + { + var repo = GetRepository(); + var cmd = Provider.CreateUserCommand(); + _user = await repo.CreateAsync(cmd); + return this; } #endregion }