feat(missions): /load/index materializes viewer mission/achievement state
EnsureCurrentAsync now takes viewerId (was Viewer), so it works with LoadController's AsNoTracking-loaded detached viewers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,7 @@ public class ViewerMissionStateServiceTests
|
||||
.FirstAsync(x => x.Id == vid);
|
||||
|
||||
var svc = scope.ServiceProvider.GetRequiredService<IViewerMissionStateService>();
|
||||
await svc.EnsureCurrentAsync(viewer);
|
||||
await svc.EnsureCurrentAsync(viewer.Id);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
int catalogTypeCount = await db.AchievementCatalog
|
||||
@@ -67,10 +67,10 @@ public class ViewerMissionStateServiceTests
|
||||
.FirstAsync(x => x.Id == vid);
|
||||
|
||||
var svc = scope.ServiceProvider.GetRequiredService<IViewerMissionStateService>();
|
||||
await svc.EnsureCurrentAsync(viewer);
|
||||
await svc.EnsureCurrentAsync(viewer.Id);
|
||||
await db.SaveChangesAsync();
|
||||
int after1 = await db.ViewerAchievements.CountAsync(a => a.ViewerId == vid);
|
||||
await svc.EnsureCurrentAsync(viewer);
|
||||
await svc.EnsureCurrentAsync(viewer.Id);
|
||||
await db.SaveChangesAsync();
|
||||
int after2 = await db.ViewerAchievements.CountAsync(a => a.ViewerId == vid);
|
||||
Assert.That(after2, Is.EqualTo(after1));
|
||||
@@ -90,7 +90,7 @@ public class ViewerMissionStateServiceTests
|
||||
.FirstAsync(x => x.Id == vid);
|
||||
|
||||
var svc = scope.ServiceProvider.GetRequiredService<IViewerMissionStateService>();
|
||||
await svc.EnsureCurrentAsync(viewer);
|
||||
await svc.EnsureCurrentAsync(viewer.Id);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var slots = await db.ViewerMissions
|
||||
@@ -117,7 +117,7 @@ public class ViewerMissionStateServiceTests
|
||||
.FirstAsync(x => x.Id == vid);
|
||||
|
||||
var svc = scope.ServiceProvider.GetRequiredService<IViewerMissionStateService>();
|
||||
await svc.EnsureCurrentAsync(viewer);
|
||||
await svc.EnsureCurrentAsync(viewer.Id);
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
var weeklyIds = await db.ViewerMissions
|
||||
|
||||
Reference in New Issue
Block a user