feat(cv): qualify templates and reliable local import processing

This commit is contained in:
cesnimda
2026-10-28 14:36:12 +01:00
parent 73ea888375
commit 3f4db8ca81
69 changed files with 2597 additions and 180 deletions
@@ -7,6 +7,25 @@ namespace JobTrackerApi.Tests;
public sealed class CoverLetterDocumentContractTests
{
[Fact]
public void Matching_letter_themes_use_the_CV_design_without_rewriting_legacy_output_or_body()
{
var renderer = new CoverLetterDocumentRenderer();
foreach (var theme in CvThemeCatalog.Themes)
{
var legacy = new CoverLetterDocumentSettings { ThemeId = theme.Id, SenderName = "Reviewed sender" };
var original = renderer.Render("Reviewed body", legacy).Html;
var revised = CoverLetterDocumentSettingsJson.Deserialize("{\"themeId\":\"" + theme.Id + "\",\"designVersion\":2,\"senderName\":\"Reviewed sender\"}");
var html = renderer.Render("Reviewed body", revised).Html;
Assert.Contains("letter-theme-" + theme.Id, html);
Assert.Contains("Reviewed sender", html);
Assert.Contains("Reviewed body", html);
Assert.Contains("\"designVersion\":2", CoverLetterDocumentSettingsJson.Serialize(revised));
Assert.Contains(theme.Accent, html);
Assert.Equal(original, renderer.Render("Reviewed body", CoverLetterDocumentSettingsJson.Deserialize(CoverLetterDocumentSettingsJson.Serialize(legacy))).Html);
Assert.DoesNotContain("designVersion", CoverLetterDocumentSettingsJson.Serialize(legacy));
}
}
[Theory]
[InlineData("en", "Cover letter", "Cover letter text")]
[InlineData("nb-NO", "Søknadsbrev", "Brevtekst")]