diff --git a/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj b/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj
index c03a5d99..9be5c881 100644
--- a/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj
+++ b/EnvelopeGenerator.Infrastructure/EnvelopeGenerator.Infrastructure.csproj
@@ -12,6 +12,7 @@
+
diff --git a/EnvelopeGenerator.Tests.Application/Fake.cs b/EnvelopeGenerator.Tests.Application/Fake.cs
index fc8223e7..e1aa9627 100644
--- a/EnvelopeGenerator.Tests.Application/Fake.cs
+++ b/EnvelopeGenerator.Tests.Application/Fake.cs
@@ -2,6 +2,7 @@
using DigitalData.Core.Abstraction.Application.Repository;
using DigitalData.UserManager.Domain.Entities;
using EnvelopeGenerator.Application;
+using EnvelopeGenerator.Application.EnvelopeReceivers.Commands;
using EnvelopeGenerator.Application.Envelopes.Commands;
using EnvelopeGenerator.Application.Receivers.Commands;
using EnvelopeGenerator.Application.Users.Commands;
@@ -11,6 +12,8 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
+using QuestPDF.Fluent;
+using QuestPDF.Infrastructure;
namespace EnvelopeGenerator.Tests.Application;
@@ -151,6 +154,45 @@ public static class Extensions
.ToList();
#endregion
+ #region Envelope Document
+ public static string CreatePdfAsBase64(this Faker faker)
+ {
+ string name = faker.Name.FullName();
+ string address = faker.Address.FullAddress();
+ string lorem = faker.Lorem.Paragraphs(2);
+
+ QuestPDF.Settings.License = LicenseType.Community;
+ var document = Document.Create(container =>
+ {
+ container.Page(page =>
+ {
+ page.Margin(50);
+ page.Header().Text("Random PDF").FontSize(20).Bold();
+ page.Content().Column(col =>
+ {
+ col.Item().Text($"Vor- und Nachname: {name}");
+ col.Item().Text($"Adresse: {address}");
+ col.Item().Text(lorem);
+ });
+ });
+ });
+
+ using var ms = new MemoryStream();
+ document.GeneratePdf(ms);
+ return Convert.ToBase64String(ms.ToArray());
+ }
+
+ public static DocumentCreateCommand CreateDocumentCommand(this Faker faker) => new()
+ {
+ DataAsBase64 = faker.CreatePdfAsBase64()
+ };
+
+ public static List CreateDocumentCommands(this Faker fake, int minCount = 10, int maxCount = 20)
+ => Enumerable.Range(0, fake.Random.Number(minCount, maxCount))
+ .Select(_ => fake.CreateDocumentCommand())
+ .ToList();
+ #endregion
+
#region User Command
public static CreateUserCommand CreateUserCommand(this Faker fake) => new()
{