From b8df564b8500730534f8ac6b581f04e7e6cc23ac Mon Sep 17 00:00:00 2001 From: biss Date: Mon, 27 Jul 2026 16:47:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=80=83=E8=AF=95=E5=AE=89?= =?UTF-8?q?=E6=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Exams/ExamArrangementService.cs | 3 +++ .../Exams/MakeupExamArrangementService.cs | 3 +++ .../ExamArrangementServiceTests.cs | 20 +++++++++++++------ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/Jiaowu.Api/Infrastructure/Exams/ExamArrangementService.cs b/src/Jiaowu.Api/Infrastructure/Exams/ExamArrangementService.cs index 9075af5..ceba576 100644 --- a/src/Jiaowu.Api/Infrastructure/Exams/ExamArrangementService.cs +++ b/src/Jiaowu.Api/Infrastructure/Exams/ExamArrangementService.cs @@ -26,6 +26,9 @@ public sealed class ExamArrangementService(AppDbContext db) .Include(x => x.Sessions) .ThenInclude(x => x.TeachingTask) .ThenInclude(x => x!.Teachers) + .Include(x => x.Sessions) + .ThenInclude(x => x.TeachingTask) + .ThenInclude(x => x!.Course) .FirstOrDefaultAsync(x => x.Id == planId, cancellationToken); if (plan is null) diff --git a/src/Jiaowu.Api/Infrastructure/Exams/MakeupExamArrangementService.cs b/src/Jiaowu.Api/Infrastructure/Exams/MakeupExamArrangementService.cs index 5dd7275..ee64af7 100644 --- a/src/Jiaowu.Api/Infrastructure/Exams/MakeupExamArrangementService.cs +++ b/src/Jiaowu.Api/Infrastructure/Exams/MakeupExamArrangementService.cs @@ -26,6 +26,9 @@ public sealed class MakeupExamArrangementService(AppDbContext db) .Include(x => x.Sessions) .ThenInclude(x => x.TeachingTask) .ThenInclude(x => x!.Teachers) + .Include(x => x.Sessions) + .ThenInclude(x => x.TeachingTask) + .ThenInclude(x => x!.Course) .FirstOrDefaultAsync(x => x.Id == planId, cancellationToken); if (plan is null) diff --git a/tests/Jiaowu.Api.Tests/ExamArrangementServiceTests.cs b/tests/Jiaowu.Api.Tests/ExamArrangementServiceTests.cs index 71120e6..5339b02 100644 --- a/tests/Jiaowu.Api.Tests/ExamArrangementServiceTests.cs +++ b/tests/Jiaowu.Api.Tests/ExamArrangementServiceTests.cs @@ -31,6 +31,7 @@ public sealed class ExamArrangementServiceTests plan.Sessions.Add(untouched); db.ExamPlans.Add(plan); await db.SaveChangesAsync(); + db.ChangeTracker.Clear(); var result = await new ExamArrangementService(db).ArrangeAsync( plan.Id, @@ -39,11 +40,14 @@ public sealed class ExamArrangementServiceTests assignInvigilators: false, CancellationToken.None); + var persistedSelected = await db.ExamSessions.FindAsync(selected.Id); + var persistedUntouched = await db.ExamSessions.FindAsync(untouched.Id); Assert.True(result.Success); - Assert.NotNull(selected.ClassroomId); - Assert.Null(untouched.ClassroomId); - Assert.Empty(selected.Invigilators); + Assert.NotNull(persistedSelected!.ClassroomId); + Assert.Null(persistedUntouched!.ClassroomId); + Assert.Empty(persistedSelected.Invigilators); Assert.Contains("1个场次处理完成", result.Message); + Assert.Contains("程序设计", result.Message); } [Fact] @@ -69,6 +73,7 @@ public sealed class ExamArrangementServiceTests plan.Sessions.Add(untouched); db.MakeupExamPlans.Add(plan); await db.SaveChangesAsync(); + db.ChangeTracker.Clear(); var result = await new MakeupExamArrangementService(db).ArrangeAsync( plan.Id, @@ -77,11 +82,14 @@ public sealed class ExamArrangementServiceTests assignInvigilators: false, CancellationToken.None); + var persistedSelected = await db.MakeupExamSessions.FindAsync(selected.Id); + var persistedUntouched = await db.MakeupExamSessions.FindAsync(untouched.Id); Assert.True(result.Success); - Assert.NotNull(selected.ClassroomId); - Assert.Null(untouched.ClassroomId); - Assert.Empty(selected.Invigilators); + Assert.NotNull(persistedSelected!.ClassroomId); + Assert.Null(persistedUntouched!.ClassroomId); + Assert.Empty(persistedSelected.Invigilators); Assert.Contains("1个场次处理完成", result.Message); + Assert.Contains("程序设计", result.Message); } private static ExamSession NewExamSession(Guid planId, Guid taskId) => new()