feat(TestBase): seed real email templates in TestBase setup
- Added `RealEmailTemplates` property with predefined email templates. - Populated the repository with these templates in the `Setup` method. - Ensures tests have consistent, realistic email data available.
This commit is contained in:
parent
d5afb2201c
commit
ccc4e948f3
@ -30,9 +30,8 @@ public class HistoryHandler : INotificationHandler<DocSignedNotification>
|
||||
/// <returns></returns>
|
||||
public async Task Handle(DocSignedNotification notification, CancellationToken cancel)
|
||||
{
|
||||
if(notification.Receiver is null)
|
||||
if (notification.Receiver is null)
|
||||
throw new InvalidOperationException($"Receiver information is missing in the notification. DocSignedNotification:\n {notification.ToJson(Format.Json.ForDiagnostics)}");
|
||||
if (notification.Receiver is null)
|
||||
throw new InvalidOperationException($"Receiver information is missing in the notification. DocSignedNotification:\n {notification.ToJson(Format.Json.ForDiagnostics)}");
|
||||
|
||||
await _sender.Send(new CreateHistoryCommand()
|
||||
{
|
||||
|
||||
@ -99,8 +99,8 @@ public abstract class SendMailHandler<TNotification> : INotificationHandler<TNot
|
||||
var placeHolders = CreatePlaceHolders(notification);
|
||||
|
||||
var temp = await TempRepo
|
||||
.ReadOnly()
|
||||
.SingleOrDefaultAsync(x => x.Name == notification.TemplateType.ToString(), cancel)
|
||||
.Where(x => x.Name == notification.TemplateType.ToString())
|
||||
.SingleOrDefaultAsync(cancel)
|
||||
?? throw new InvalidOperationException($"Receiver information is missing in the notification." +
|
||||
$"{typeof(TNotification)}:\n {notification.ToJson(Format.Json.ForDiagnostics)}");
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
using DigitalData.Core.Abstractions.Interfaces;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
#if NETFRAMEWORK
|
||||
@ -13,7 +14,7 @@ namespace EnvelopeGenerator.Domain.Entities
|
||||
#endif
|
||||
|
||||
[Table("TBSIG_EMAIL_TEMPLATE", Schema = "dbo")]
|
||||
public class EmailTemplate
|
||||
public class EmailTemplate : IEntity
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
|
||||
@ -31,6 +31,10 @@ public abstract class TestBase : Faker
|
||||
{
|
||||
Host = Fake.CreateHost(ConfigureServices);
|
||||
await Host.AddSamples();
|
||||
|
||||
// Add seed email templates
|
||||
foreach (var temp in SeedEmailTemplates)
|
||||
await Repository.CreateAsync(temp);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
@ -38,4 +42,98 @@ public abstract class TestBase : Faker
|
||||
{
|
||||
Host.Dispose();
|
||||
}
|
||||
|
||||
protected static List<EmailTemplate> SeedEmailTemplates => new()
|
||||
{
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 1,
|
||||
Name = "DocumentReceived",
|
||||
Body = "Guten Tag [NAME_RECEIVER],<br /> <br /><B><I> [NAME_SENDER]</I></B> hat Ihnen ein Dokument zum [SIGNATURE_TYPE] gesendet.<br /> <br /> Über den folgenden Link können Sie das Dokument einsehen und elektronisch unterschreiben: <a href=\"[LINK_TO_DOCUMENT]\">[LINK_TO_DOCUMENT_TEXT]</a><br /> <br /> [MESSAGE]<br /> <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "Dokument erhalten: '[DOCUMENT_TITLE]'",
|
||||
AddedWhen = DateTime.Parse("2024-05-29 09:33:54.913"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.020")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 2,
|
||||
Name = "DocumentDeleted",
|
||||
Body = "Guten Tag [NAME_RECEIVER],<br /> <br /><B><I> [NAME_SENDER]</I></B> hat den Umschlag <B><I>'[DOCUMENT_TITLE]'</I></B> gelöscht/zurückgezogen.<br /><p> Begründung: <br /> <I>[REASON]</I> <p> <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "Umschlag zurückgezogen: '[DOCUMENT_TITLE]'",
|
||||
AddedWhen = DateTime.Parse("2024-05-29 09:33:54.913"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.033")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 3,
|
||||
Name = "DocumentSigned",
|
||||
Body = "Guten Tag [NAME_RECEIVER],<br /> <br /> hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang <B><I>'[DOCUMENT_TITLE]'</I></B>.<br /> Wenn alle Vertragspartner unterzeichnet haben, erhalten Sie ebenfalls per email ein unterschriebenes Exemplar mit dem Signierungszertifikat! <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "Dokument unterschrieben: '[DOCUMENT_TITLE]'",
|
||||
AddedWhen = DateTime.Parse("2024-05-29 09:33:54.913"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.033")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 4,
|
||||
Name = "DocumentCompleted",
|
||||
Body = "Guten Tag [NAME_RECEIVER],<br /> <br /> Der Signaturvorgang <B><I>'[DOCUMENT_TITLE]'</I></B> wurde erfolgreich abgeschlossen.<br /> <br /> Sie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser Email.<br /> <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "Umschlag abgeschlossen: '[DOCUMENT_TITLE]'",
|
||||
AddedWhen = DateTime.Parse("2024-05-29 09:33:54.913"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.050")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 5,
|
||||
Name = "DocumentAccessCodeReceived",
|
||||
Body = "Guten Tag [NAME_RECEIVER],<br /> <br /><B><I> [NAME_SENDER]</I></B> hat Ihnen ein Dokument zum [SIGNATURE_TYPE] gesendet. <br /> <br /> Verwenden Sie den folgenden Zugriffscode, um das Dokument einzusehen:<br /> <br /> [DOCUMENT_ACCESS_CODE]<br /> <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "Zugriffscode für Dokument erhalten: '[DOCUMENT_TITLE]'",
|
||||
AddedWhen = DateTime.Parse("2024-05-29 09:33:54.913"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.050")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 6,
|
||||
Name = "DocumentRejected_ADM",
|
||||
Body = "Guten Tag [NAME_SENDER],<p><B><I>[NAME_RECEIVER]</I></B> hat den Umschlag <B><I>'[DOCUMENT_TITLE]'</I></B> mit folgendem Grund abgelehnt: <p> [REASON] <p>Der Umschlag wurde auf den Status Rejected gesetzt. <p> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "'[DOCUMENT_TITLE]' - Unterzeichnungsvorgang zurückgezogen",
|
||||
AddedWhen = DateTime.Parse("2024-06-06 10:25:14.917"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.067")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 9,
|
||||
Name = "DocumentRejected_REC",
|
||||
Body = "Guten Tag [NAME_RECEIVER], <p>Hiermit bestätigen wir Ihnen die Ablehnung des Unterzeichnungsvorganges <B><I>'[DOCUMENT_TITLE]'</I></B>!<p>Der Vertragsinhaber <B><I>[NAME_SENDER]</I></B> wurde über die Ablehnung informiert. <p> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "'[DOCUMENT_TITLE]' - Bestätigung Ablehnung",
|
||||
AddedWhen = DateTime.Parse("2024-06-12 09:24:34.927"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.067")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 10,
|
||||
Name = "DocumentRejected_REC_2",
|
||||
Body = "Guten Tag [NAME_RECEIVER], <p>Der Unterzeichnungsvorganges <B><I>'[DOCUMENT_TITLE]'</I></B> wurde durch einen anderen Vertragspartner abgelehnt! Ihre notwendige Unterzeichnung wurde verworfen.<p> Der Vertragsinhaber <B><I>[NAME_SENDER]</I></B> wird sich bei Bedarf mit Ihnen in Verbindung setzen. <p> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "'[DOCUMENT_TITLE]' - Unterzeichnungsvorgang abgelehnt.",
|
||||
AddedWhen = DateTime.Parse("2024-06-12 09:55:40.613"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.080")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 11,
|
||||
Name = "DocumentShared",
|
||||
Body = "Guten Tag,<br /> <br /><B><I> [NAME_RECEIVER]</I></B> hat Ihnen ein Dokument zum Ansehen gesendet.<br /> <br /> Über den folgenden Link können Sie das Dokument einsehen: <a href=\"[LINK_TO_DOCUMENT]\">[LINK_TO_DOCUMENT_TEXT]</a><br /> <br /> <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "Dokument geteilt: '[DOCUMENT_TITLE]'",
|
||||
AddedWhen = DateTime.Parse("2024-09-27 11:37:47.860"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-09 10:25:03.097")
|
||||
},
|
||||
new EmailTemplate
|
||||
{
|
||||
Id = 12,
|
||||
Name = "TotpSecret",
|
||||
Body = "Guten Tag,<br /> <br />Sie können auf Ihren Zwei-Faktor-Authentifizierungscode zugreifen, indem Sie den unten stehenden QR-Code mit einer beliebigen Authentifizierungs-App auf Ihrem Telefon scannen (Google Authenticator, Microsoft Authenticator usw.). Dieser Code ist bis zum [TFA_EXPIRATION] gültig.<br /> <br /> <img src=\"data:image/png;base64,[TFA_QR_CODE]\" style=\"width: 13rem; height: 13rem;\"><br /> <br /> <br /> Mit freundlichen Grüßen<br /> <br /> [NAME_PORTAL]",
|
||||
Subject = "2-Faktor-Authentifizierung QR-Code",
|
||||
AddedWhen = DateTime.Parse("2024-12-11 10:07:08.400"),
|
||||
ChangedWhen = DateTime.Parse("2025-05-12 10:43:44.290")
|
||||
}
|
||||
};
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user