fix(cv): make initial revision atomic
CI and Deploy / test (push) Failing after 8m11s
CI and Deploy / deploy (push) Has been skipped

This commit is contained in:
cesnimda
2026-08-29 02:13:05 +02:00
parent 9cfe622103
commit a3b4941447
4 changed files with 42 additions and 10 deletions
+21
View File
@@ -1,6 +1,7 @@
using JobTrackerApi.Data;
using JobTrackerApi.Models;
using JobTrackerApi.Services;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Moq;
using Xunit;
@@ -366,6 +367,26 @@ public sealed class CvBuilderTests
Assert.True(versions[0].IsCurrent);
}
[Fact]
public async Task Create_persists_variant_and_initial_history_on_a_relational_store()
{
await using var connection = new SqliteConnection("Data Source=:memory:");
await connection.OpenAsync();
var options = new DbContextOptionsBuilder<JobTrackerContext>().UseSqlite(connection).Options;
var currentUser = new Mock<ICurrentUserService>();
currentUser.SetupGet(service => service.UserId).Returns("user-1");
await using var db = new JobTrackerContext(options, currentUser.Object);
await db.Database.EnsureCreatedAsync();
var service = new CvVariantService(db, new CareerProfileService(db), new ThemedCvRenderer());
var created = await service.CreateAsync("user-1", "Atomic CV", null, new CvVariantSettings(), default);
Assert.Single(await db.CvVariants.IgnoreQueryFilters().Where(item => item.Id == created.Id).ToListAsync());
var history = await db.CvVariantVersions.IgnoreQueryFilters().Where(item => item.CvVariantId == created.Id).ToListAsync();
Assert.Single(history);
Assert.Equal(1, history[0].Version);
}
[Fact]
public async Task Restore_reapplies_old_settings_as_a_new_version()
{