This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
using LehrerApp.TemplateDesigner;
|
||||
using Xunit;
|
||||
|
||||
namespace LehrerApp.TemplateDesigner.Tests;
|
||||
|
||||
public sealed class ProjectLifecycleTests
|
||||
{
|
||||
[Fact]
|
||||
public void Reset_ErzeugtEinVollstaendigLeeresUnabhaengigesProjekt()
|
||||
{
|
||||
var viewModel = new DesignerViewModel();
|
||||
viewModel.ImportAsset("logo.png", OnePixelPng);
|
||||
viewModel.Placeholders.Add(new("Test", LehrerApp.Templating.PlaceholderType.Text, false, "Wert"));
|
||||
viewModel.NewElementType = "IMG";
|
||||
viewModel.NewContent = "logo.png";
|
||||
|
||||
viewModel.Reset();
|
||||
|
||||
Assert.Equal("neue-vorlage", viewModel.TemplateId);
|
||||
Assert.Equal("PAGE 210 297 mm\n", viewModel.LayoutSource);
|
||||
Assert.Empty(viewModel.Placeholders);
|
||||
Assert.Empty(viewModel.Assets);
|
||||
Assert.Empty(viewModel.AssetItems);
|
||||
Assert.Equal("de-DE", viewModel.MetadataItems.Single(x => x.Name == "language").Value);
|
||||
Assert.Equal("letter", viewModel.MetadataItems.Single(x => x.Name == "report-type").Value);
|
||||
Assert.Null(viewModel.SelectedAsset);
|
||||
Assert.Null(viewModel.PreviewImage);
|
||||
Assert.Equal("TEXT", viewModel.NewElementType);
|
||||
Assert.Equal("$Brieftext", viewModel.NewContent);
|
||||
Assert.False(viewModel.CanExport);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FreieMetadaten_WerdenInDasManifestUebernommen()
|
||||
{
|
||||
var viewModel = new DesignerViewModel();
|
||||
viewModel.MetadataItems.Add(new("school-year", "2026/27"));
|
||||
|
||||
var manifest = viewModel.BuildManifest();
|
||||
|
||||
Assert.Equal("de-DE", manifest.Metadata["language"]);
|
||||
Assert.Equal("2026/27", manifest.Metadata["school-year"]);
|
||||
}
|
||||
|
||||
private static readonly byte[] OnePixelPng = Convert.FromBase64String(
|
||||
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=");
|
||||
}
|
||||
Reference in New Issue
Block a user