feat(cv): redesign document editing with revision-safe letters and writing tools

This commit is contained in:
cesnimda
2026-10-25 22:44:14 +01:00
parent 01e10996c5
commit 2bfaf6c14b
57 changed files with 2859 additions and 118 deletions
@@ -56,6 +56,18 @@ public sealed class AccountDataExportTests
var otherApplication = new JobApplication { OwnerUserId = other.Id, CompanyId = company.Id, JobTitle = "OTHER_TENANT_PRIVATE" };
db.JobApplications.AddRange(application, otherApplication);
await db.SaveChangesAsync();
application.CoverLetterDocumentSettingsJson = "{\"senderName\":\"live-letter-design\"}";
db.CoverLetterVersions.Add(new CoverLetterVersion
{
OwnerUserId = owner.Id, JobApplicationId = application.Id, Version = 1, Text = "historical body",
DocumentSettingsJson = "{\"senderName\":\"history-letter-design\"}",
});
db.SubmittedApplicationPackages.Add(new SubmittedApplicationPackage
{
OwnerUserId = owner.Id, JobApplicationId = application.Id, Version = 1, CoverLetterText = "frozen body",
CoverLetterDocumentSettingsJson = "{\"senderName\":\"frozen-letter-design\"}",
RenderedCoverLetterHtml = "<p>frozen-letter-render</p>",
});
var attachmentPath = Path.Combine(paths.AttachmentsRoot, application.Id.ToString(), "evidence.txt");
Directory.CreateDirectory(Path.GetDirectoryName(attachmentPath)!);
@@ -109,6 +121,10 @@ public sealed class AccountDataExportTests
Assert.Contains("Synthetic Owner", readable);
Assert.Contains("Readable application note", readable);
Assert.Contains("export-proof", readable);
Assert.Contains("live-letter-design", readable);
Assert.Contains("history-letter-design", readable);
Assert.Contains("frozen-letter-design", readable);
Assert.Contains("frozen-letter-render", readable);
Assert.DoesNotContain("OTHER_TENANT_PRIVATE", readable);
Assert.DoesNotContain("PASSWORD_HASH_MUST_NOT_EXPORT", readable);
Assert.DoesNotContain("SECURITY_STAMP_MUST_NOT_EXPORT", readable);