修改演示数据插入脚本

This commit is contained in:
biss committed 2026-08-15 10:23:09 +08:00
1 parent 51b83e9d78
commit be49a2586f
2 files changed
+17 -7

No files matched your search

@@ -457,16 +457,18 @@ public sealed class DemoDataSeeder(
.Select(x => (x.TeacherId, x.CourseId))
.ToHashSet();
var additions = new List<TeacherCourseApplication>();
for (var teacherIndex = 0; teacherIndex < teachers.Count; teacherIndex++)
foreach (var teacher in teachers)
{
var teacher = teachers[teacherIndex];
var professionalCourses = courses
.Where(x => x.CollegeId == teacher.CollegeId &&
x.Nature is CourseNature.MajorRequired or
CourseNature.MajorElective or CourseNature.Practice)
x.Nature is (CourseNature.MajorRequired or
CourseNature.MajorElective or CourseNature.Practice))
.Take(4);
var selectedPublicCourses = Enumerable.Range(0, 2)
.Select(offset => publicCourses[(teacherIndex + offset) % publicCourses.Count]);
var collegePublicCourses = publicCourses
.Where(x => x.CollegeId == teacher.CollegeId)
.ToList();
var selectedPublicCourses = collegePublicCourses
.Take(2);
foreach (var course in professionalCourses
.Concat(selectedPublicCourses)
.DistinctBy(x => x.Id))
@@ -31,7 +31,15 @@ public sealed class DemoDataSeederTests
Assert.Equal(128, await db.Teachers.CountAsync());
Assert.Equal(3640, await db.Students.CountAsync());
Assert.Equal(148, await db.Courses.CountAsync());
Assert.Equal(736, await db.TeacherCourseApplications.CountAsync());
Assert.Equal(624, await db.TeacherCourseApplications.CountAsync());
var crossCollegeApplications = await (
from application in db.TeacherCourseApplications
join teacher in db.Teachers on application.TeacherId equals teacher.Id
join course in db.Courses on application.CourseId equals course.Id
where teacher.CollegeId != course.CollegeId
select application.Id)
.CountAsync();
Assert.Equal(0, crossCollegeApplications);
Assert.Equal(1, await db.AcademicTerms.CountAsync(x => x.IsCurrent));
Assert.Equal(30, await db.Classrooms.CountAsync());
}