Merge branch 'claudedo/5c80a0aba5d9468a96cf809fc7a6e7a1'
This commit is contained in:
@@ -69,6 +69,35 @@ public sealed class ForeignKeyTests : IDisposable
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task DependsOnTaskId_is_nulled_when_predecessor_deleted_on_fresh_context()
|
||||
{
|
||||
var listId = Guid.NewGuid().ToString();
|
||||
var predecessorId = Guid.NewGuid().ToString();
|
||||
var dependentId = Guid.NewGuid().ToString();
|
||||
|
||||
await using (var ctx = Open())
|
||||
{
|
||||
ctx.Lists.Add(new ListEntity { Id = listId, Name = "L", CreatedAt = DateTime.UtcNow });
|
||||
ctx.Tasks.Add(new TaskEntity { Id = predecessorId, ListId = listId, Title = "Predecessor", Status = TaskStatus.Idle, CreatedAt = DateTime.UtcNow });
|
||||
ctx.Tasks.Add(new TaskEntity { Id = dependentId, ListId = listId, Title = "Dependent", Status = TaskStatus.Idle, DependsOnTaskId = predecessorId, CreatedAt = DateTime.UtcNow });
|
||||
await ctx.SaveChangesAsync();
|
||||
}
|
||||
|
||||
await using (var ctx = Open())
|
||||
{
|
||||
var predecessor = await ctx.Tasks.FindAsync(predecessorId);
|
||||
ctx.Tasks.Remove(predecessor!);
|
||||
await ctx.SaveChangesAsync();
|
||||
}
|
||||
|
||||
await using (var ctx = Open())
|
||||
{
|
||||
var dependent = await ctx.Tasks.AsNoTracking().FirstAsync(t => t.Id == dependentId);
|
||||
Assert.Null(dependent.DependsOnTaskId);
|
||||
}
|
||||
}
|
||||
|
||||
// ---- AppSettingsRepository: get-or-create resilience ----
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user