考试按实际日期、周次和节次融入周/日/总视图,并用橙色“考试”卡片区分。
即使固定课表尚未发布,只要考试已发布,也能正常显示。 考试计划、考场、监考教师和日期都会显示。 Excel 导出同步包含考试安排。
This commit is contained in:
@@ -7,7 +7,7 @@ namespace Jiaowu.Api.Tests;
|
||||
public sealed class TimetableExcelExporterTests
|
||||
{
|
||||
[Fact]
|
||||
public void Create_builds_week_grid_and_flexible_course_section()
|
||||
public void Create_builds_week_grid_with_exam_and_flexible_course_section()
|
||||
{
|
||||
var timetable = new TimetableData(
|
||||
new TimetableTermDto(
|
||||
@@ -84,7 +84,31 @@ public sealed class TimetableExcelExporterTests
|
||||
["计算机科学 2601 班"],
|
||||
null)
|
||||
],
|
||||
[]);
|
||||
[
|
||||
new TimetableEntryDto(
|
||||
Guid.NewGuid(),
|
||||
Guid.NewGuid(),
|
||||
"TASK-EXAM",
|
||||
"高等数学期末考试",
|
||||
"MATH101",
|
||||
"高等数学",
|
||||
["张老师", "监考:李老师"],
|
||||
["计算机科学 2601 班"],
|
||||
"201",
|
||||
"第二教学楼",
|
||||
"主校区",
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
WeekPattern.All,
|
||||
null,
|
||||
true,
|
||||
"2026-2027 学年第一学期期末考试",
|
||||
new DateOnly(2027, 1, 5),
|
||||
DateTime.UtcNow)
|
||||
]);
|
||||
|
||||
var bytes = TimetableExcelExporter.Create(timetable);
|
||||
|
||||
@@ -92,7 +116,10 @@ public sealed class TimetableExcelExporterTests
|
||||
using var workbook = new XLWorkbook(stream);
|
||||
var sheet = workbook.Worksheet("课表");
|
||||
Assert.Contains("计算机科学 2601 班", sheet.Cell("A1").GetString());
|
||||
Assert.Contains("已融入 1 场考试", sheet.Cell("A2").GetString());
|
||||
Assert.Contains("高等数学", sheet.Cell(5, 2).GetString());
|
||||
Assert.Contains("【考试】高等数学", sheet.Cell(5, 3).GetString());
|
||||
Assert.Contains("2027-01-05", sheet.Cell(5, 3).GetString());
|
||||
Assert.Contains(
|
||||
sheet.CellsUsed(),
|
||||
cell => cell.GetString().Contains("非排时课程"));
|
||||
|
||||
Reference in New Issue
Block a user