fix: preserve blank CVs and reliable editor undo
This commit is contained in:
@@ -16,6 +16,27 @@ namespace JobTrackerApi.Tests;
|
||||
|
||||
public sealed class CvExportRevisionTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task Explicit_blank_export_is_rejected_before_pdf_allocation()
|
||||
{
|
||||
var current = new Mock<ICurrentUserService>();
|
||||
current.SetupGet(x => x.UserId).Returns("owner");
|
||||
await using var db = new JobTrackerContext(new DbContextOptionsBuilder<JobTrackerContext>()
|
||||
.UseInMemoryDatabase(Guid.NewGuid().ToString()).Options, current.Object);
|
||||
var variants = new CvVariantService(db, new CareerProfileService(db), new ThemedCvRenderer());
|
||||
var settings = CvVariantSettingsJson.Deserialize("{\"sectionsExplicit\":true,\"includeProfileContact\":false,\"sections\":[]}");
|
||||
var cv = await variants.CreateAsync("owner", "Blank", null, settings, default);
|
||||
var user = new ApplicationUser { Id = "owner", FirstName = "Inherited name" };
|
||||
var users = TestHostFactory.CreateUserManager(user);
|
||||
users.Setup(x => x.GetUserAsync(It.IsAny<ClaimsPrincipal>())).ReturnsAsync(user);
|
||||
var pdf = new Mock<ICvPdfExporter>(MockBehavior.Strict);
|
||||
var controller = new CvVariantController(users.Object, variants, pdf.Object, Mock.Of<ISummarizerService>())
|
||||
{ ControllerContext = new() { HttpContext = new DefaultHttpContext() } };
|
||||
var result = Assert.IsType<BadRequestObjectResult>(await controller.ExportPdf(cv.Id, default, 1));
|
||||
Assert.Equal("cv_empty_content", JsonSerializer.SerializeToElement(result.Value).GetProperty("code").GetString());
|
||||
pdf.VerifyNoOtherCalls();
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(1, "owner", 409)]
|
||||
[InlineData(0, "owner", 409)]
|
||||
|
||||
Reference in New Issue
Block a user