fix(rd21): guard career and job saves with durable revisions

This commit is contained in:
cesnimda
2026-10-23 08:07:23 +02:00
parent 8f2cad67f7
commit 12f342c09c
32 changed files with 1185 additions and 277 deletions
@@ -39,7 +39,7 @@ public sealed class JobApplicationsApplicationPackageTests
await db.SaveChangesAsync();
var controller = CreateController(db, Mock.Of<ISummarizerService>(), "user-1");
var result = await controller.SaveApplicationDrafts(job.Id, new SaveApplicationDraftsRequest(null, "Updated notes block", null), CancellationToken.None);
var result = await controller.SaveApplicationDrafts(job.Id, new SaveApplicationDraftsRequest(null, "Updated notes block", null, ExpectedVersion: job.Version), CancellationToken.None);
Assert.IsType<NoContentResult>(result);
var saved = await db.JobApplications.FirstAsync();
@@ -68,7 +68,7 @@ public sealed class JobApplicationsApplicationPackageTests
var controller = CreateController(db, Mock.Of<ISummarizerService>(), "user-1");
var updated = await controller.SaveApplicationDrafts(
job.Id,
new SaveApplicationDraftsRequest(null, null, " New recruiter message ", " New answer "),
new SaveApplicationDraftsRequest(null, null, " New recruiter message ", " New answer ", ExpectedVersion: job.Version),
CancellationToken.None);
Assert.IsType<NoContentResult>(updated);
@@ -79,7 +79,7 @@ public sealed class JobApplicationsApplicationPackageTests
job.Notes += "\n\n<<<APPLICATION_ANSWER_DRAFT>>>\nDuplicate stale answer\n<<<END_APPLICATION_ANSWER_DRAFT>>>";
var cleared = await controller.SaveApplicationDrafts(
job.Id,
new SaveApplicationDraftsRequest(null, null, "", ""),
new SaveApplicationDraftsRequest(null, null, "", "", ExpectedVersion: job.Version),
CancellationToken.None);
Assert.IsType<NoContentResult>(cleared);
@@ -109,7 +109,7 @@ public sealed class JobApplicationsApplicationPackageTests
var controller = CreateController(db, Mock.Of<ISummarizerService>(), "user-1");
var result = await controller.SaveApplicationDrafts(
otherUsersJob.Id,
new SaveApplicationDraftsRequest(null, null, "Changed", "Changed"),
new SaveApplicationDraftsRequest(null, null, "Changed", "Changed", ExpectedVersion: otherUsersJob.Version),
CancellationToken.None);
Assert.IsType<NotFoundResult>(result);
@@ -424,7 +424,7 @@ public sealed class JobApplicationsApplicationPackageTests
generated.Education,
generated.CustomSections,
generated.RenderOptions,
"edited"), CancellationToken.None);
"edited", ExpectedVersion: generated.Revision), CancellationToken.None);
Assert.IsType<NoContentResult>(saveResult);