Files
Academic-Affairs-System/tests/Jiaowu.Api.Tests/GraduationAuditRulesTests.cs
T
biss b0eaa20da6 学籍异动:休学、复学、退学申请及辅导员→学院→教务处分级审批。
毕业审核:批次计算、缺失课程检查、人工复核、结果发布。
学位授予:毕业资格与 GPA 计算、人工调整、发布授予结果。
毕业离校:离校事项配置、责任角色分工、逐项办理及批次关闭。
2026-07-24 17:30:05 +08:00

39 lines
1.3 KiB
C#

using Jiaowu.Api.Domain.Academic;
using Jiaowu.Api.Infrastructure.Graduation;
namespace Jiaowu.Api.Tests;
public sealed class GraduationAuditRulesTests
{
[Fact]
public void Active_student_with_full_credits_and_courses_is_eligible()
{
var conclusion = GraduationAuditRules.Evaluate(
true, StudentStatus.Active, 160, 162, 42, 42, 0);
Assert.Equal(GraduationAuditConclusion.Eligible, conclusion);
}
[Theory]
[InlineData(false, StudentStatus.Active, 160, 162, 42, 42, 0)]
[InlineData(true, StudentStatus.Suspended, 160, 162, 42, 42, 0)]
[InlineData(true, StudentStatus.Active, 160, 159, 42, 42, 0)]
[InlineData(true, StudentStatus.Active, 160, 162, 42, 41, 0)]
[InlineData(true, StudentStatus.Active, 160, 162, 42, 42, 1)]
public void Any_unresolved_requirement_makes_student_ineligible(
bool hasPlan,
StudentStatus status,
decimal requiredCredits,
decimal earnedCredits,
int requiredCourses,
int passedRequiredCourses,
int failedCourses)
{
var conclusion = GraduationAuditRules.Evaluate(
hasPlan, status, requiredCredits, earnedCredits,
requiredCourses, passedRequiredCourses, failedCourses);
Assert.Equal(GraduationAuditConclusion.Ineligible, conclusion);
}
}