66 lines
2.1 KiB
C#
66 lines
2.1 KiB
C#
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
|
using DigitalData.EmailProfilerDispatcher;
|
|
|
|
namespace EmailProfilerDispatcher.Tests
|
|
{
|
|
[TestFixture]
|
|
public class FillTemplateTests
|
|
{
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
}
|
|
|
|
[Test]
|
|
public void FillTemplate_ShouldReplacePlaceholdersWithPropertyValues()
|
|
{
|
|
// Arrange
|
|
var template = @"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]";
|
|
|
|
var mailData1 = new MailData1();
|
|
var mailData2 = new MailData2();
|
|
Dictionary<string, string> placeholders = new()
|
|
{
|
|
{ @"[NAME_PORTAL]", "DokumentenPortal" }
|
|
};
|
|
|
|
var expectedOutput = @"Guten Tag Tom,<br />
|
|
<br />
|
|
hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang <B><I>'Vertragsdokument'</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 />
|
|
DokumentenPortal";
|
|
|
|
// Act
|
|
var result = template
|
|
.FillTemplate(placeholders)
|
|
.FillTemplate(template, mailData1, mailData2);
|
|
|
|
// Assert
|
|
Assert.That(result, Is.EqualTo(expectedOutput));
|
|
}
|
|
|
|
public class Resource {}
|
|
|
|
public class MailData1
|
|
{
|
|
[TemplatePlaceholder("[NAME_RECEIVER]")]
|
|
public string NameReceiver { get; set; } = "Tom";
|
|
}
|
|
|
|
public record MailData2
|
|
{
|
|
[TemplatePlaceholder("[DOCUMENT_TITLE]")]
|
|
public string DocumentTitle { get; set; } = "Vertragsdokument";
|
|
}
|
|
}
|
|
} |