修复考试安排
This commit is contained in:
@@ -26,6 +26,9 @@ public sealed class ExamArrangementService(AppDbContext db)
|
|||||||
.Include(x => x.Sessions)
|
.Include(x => x.Sessions)
|
||||||
.ThenInclude(x => x.TeachingTask)
|
.ThenInclude(x => x.TeachingTask)
|
||||||
.ThenInclude(x => x!.Teachers)
|
.ThenInclude(x => x!.Teachers)
|
||||||
|
.Include(x => x.Sessions)
|
||||||
|
.ThenInclude(x => x.TeachingTask)
|
||||||
|
.ThenInclude(x => x!.Course)
|
||||||
.FirstOrDefaultAsync(x => x.Id == planId, cancellationToken);
|
.FirstOrDefaultAsync(x => x.Id == planId, cancellationToken);
|
||||||
|
|
||||||
if (plan is null)
|
if (plan is null)
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ public sealed class MakeupExamArrangementService(AppDbContext db)
|
|||||||
.Include(x => x.Sessions)
|
.Include(x => x.Sessions)
|
||||||
.ThenInclude(x => x.TeachingTask)
|
.ThenInclude(x => x.TeachingTask)
|
||||||
.ThenInclude(x => x!.Teachers)
|
.ThenInclude(x => x!.Teachers)
|
||||||
|
.Include(x => x.Sessions)
|
||||||
|
.ThenInclude(x => x.TeachingTask)
|
||||||
|
.ThenInclude(x => x!.Course)
|
||||||
.FirstOrDefaultAsync(x => x.Id == planId, cancellationToken);
|
.FirstOrDefaultAsync(x => x.Id == planId, cancellationToken);
|
||||||
|
|
||||||
if (plan is null)
|
if (plan is null)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public sealed class ExamArrangementServiceTests
|
|||||||
plan.Sessions.Add(untouched);
|
plan.Sessions.Add(untouched);
|
||||||
db.ExamPlans.Add(plan);
|
db.ExamPlans.Add(plan);
|
||||||
await db.SaveChangesAsync();
|
await db.SaveChangesAsync();
|
||||||
|
db.ChangeTracker.Clear();
|
||||||
|
|
||||||
var result = await new ExamArrangementService(db).ArrangeAsync(
|
var result = await new ExamArrangementService(db).ArrangeAsync(
|
||||||
plan.Id,
|
plan.Id,
|
||||||
@@ -39,11 +40,14 @@ public sealed class ExamArrangementServiceTests
|
|||||||
assignInvigilators: false,
|
assignInvigilators: false,
|
||||||
CancellationToken.None);
|
CancellationToken.None);
|
||||||
|
|
||||||
|
var persistedSelected = await db.ExamSessions.FindAsync(selected.Id);
|
||||||
|
var persistedUntouched = await db.ExamSessions.FindAsync(untouched.Id);
|
||||||
Assert.True(result.Success);
|
Assert.True(result.Success);
|
||||||
Assert.NotNull(selected.ClassroomId);
|
Assert.NotNull(persistedSelected!.ClassroomId);
|
||||||
Assert.Null(untouched.ClassroomId);
|
Assert.Null(persistedUntouched!.ClassroomId);
|
||||||
Assert.Empty(selected.Invigilators);
|
Assert.Empty(persistedSelected.Invigilators);
|
||||||
Assert.Contains("1个场次处理完成", result.Message);
|
Assert.Contains("1个场次处理完成", result.Message);
|
||||||
|
Assert.Contains("程序设计", result.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -69,6 +73,7 @@ public sealed class ExamArrangementServiceTests
|
|||||||
plan.Sessions.Add(untouched);
|
plan.Sessions.Add(untouched);
|
||||||
db.MakeupExamPlans.Add(plan);
|
db.MakeupExamPlans.Add(plan);
|
||||||
await db.SaveChangesAsync();
|
await db.SaveChangesAsync();
|
||||||
|
db.ChangeTracker.Clear();
|
||||||
|
|
||||||
var result = await new MakeupExamArrangementService(db).ArrangeAsync(
|
var result = await new MakeupExamArrangementService(db).ArrangeAsync(
|
||||||
plan.Id,
|
plan.Id,
|
||||||
@@ -77,11 +82,14 @@ public sealed class ExamArrangementServiceTests
|
|||||||
assignInvigilators: false,
|
assignInvigilators: false,
|
||||||
CancellationToken.None);
|
CancellationToken.None);
|
||||||
|
|
||||||
|
var persistedSelected = await db.MakeupExamSessions.FindAsync(selected.Id);
|
||||||
|
var persistedUntouched = await db.MakeupExamSessions.FindAsync(untouched.Id);
|
||||||
Assert.True(result.Success);
|
Assert.True(result.Success);
|
||||||
Assert.NotNull(selected.ClassroomId);
|
Assert.NotNull(persistedSelected!.ClassroomId);
|
||||||
Assert.Null(untouched.ClassroomId);
|
Assert.Null(persistedUntouched!.ClassroomId);
|
||||||
Assert.Empty(selected.Invigilators);
|
Assert.Empty(persistedSelected.Invigilators);
|
||||||
Assert.Contains("1个场次处理完成", result.Message);
|
Assert.Contains("1个场次处理完成", result.Message);
|
||||||
|
Assert.Contains("程序设计", result.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ExamSession NewExamSession(Guid planId, Guid taskId) => new()
|
private static ExamSession NewExamSession(Guid planId, Guid taskId) => new()
|
||||||
|
|||||||
Reference in New Issue
Block a user