已完成第十一批迁移:考试维护功能已原生化到 ASP.NET Core 10。
支持考试创建、草稿修改、发布状态切换及不可逆归档。 支持科目、费用、满分和合格线策略校验。 保留已有报名禁止修改科目、待处理成绩复议禁止归档等规则。 数据修改、科目替换与审计日志使用同一数据库事务。 新增 ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED 独立开关。 路由与实现见 [AdminExamManagementService.cs (line 9)](C:/Users/BI/Documents/EIS-dotnet/src/Eis.Infrastructure/Administration/AdminExamManagementService.cs:9) 和 [NativeAdminReadEndpoints.cs (line 133)](C:/Users/BI/Documents/EIS-dotnet/src/Eis.Web/Administration/NativeAdminReadEndpoints.cs:133)。 迁移说明已更新至 [MIGRATION.md (line 57)](C:/Users/BI/Documents/EIS-dotnet/MIGRATION.md:57)。
This commit is contained in:
@@ -256,6 +256,21 @@ public sealed class AdminMigrationOptionsTests
|
||||
}, workflowOperationsEnabled: "true");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EnablesExamManagementWithBaseReadsAndSharedSessions()
|
||||
{
|
||||
WithEnvironment("true", null, null, () =>
|
||||
{
|
||||
var options = AdminMigrationOptions.FromEnvironment(
|
||||
configuredNativeReadsEnabled: false,
|
||||
authenticationNativeEnabled: true,
|
||||
sharesLegacySessions: true);
|
||||
|
||||
Assert.True(options.NativeReadsEnabled);
|
||||
Assert.True(options.NativeExamManagementEnabled);
|
||||
}, examManagementEnabled: "true");
|
||||
}
|
||||
|
||||
private static void WithEnvironment(
|
||||
string? nativeReadsEnabled,
|
||||
string? nativeOrganizationWritesEnabled,
|
||||
@@ -269,7 +284,8 @@ public sealed class AdminMigrationOptionsTests
|
||||
string? operationalReadsEnabled = null,
|
||||
string? candidateManagementEnabled = null,
|
||||
string? registrationPaymentWritesEnabled = null,
|
||||
string? workflowOperationsEnabled = null)
|
||||
string? workflowOperationsEnabled = null,
|
||||
string? examManagementEnabled = null)
|
||||
{
|
||||
var previousNativeReadsEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_READS_ENABLED");
|
||||
var previousNativeOrganizationWritesEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_ORGANIZATION_WRITES_ENABLED");
|
||||
@@ -282,6 +298,7 @@ public sealed class AdminMigrationOptionsTests
|
||||
var previousCandidateManagementEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_CANDIDATE_MANAGEMENT_ENABLED");
|
||||
var previousRegistrationPaymentWritesEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_REGISTRATION_PAYMENT_WRITES_ENABLED");
|
||||
var previousWorkflowOperationsEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED");
|
||||
var previousExamManagementEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED");
|
||||
var previousAllowMemory = Environment.GetEnvironmentVariable("ADMIN_NATIVE_ALLOW_MEMORY");
|
||||
try
|
||||
{
|
||||
@@ -296,6 +313,7 @@ public sealed class AdminMigrationOptionsTests
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_CANDIDATE_MANAGEMENT_ENABLED", candidateManagementEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_REGISTRATION_PAYMENT_WRITES_ENABLED", registrationPaymentWritesEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED", workflowOperationsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED", examManagementEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_ALLOW_MEMORY", allowMemory);
|
||||
test();
|
||||
}
|
||||
@@ -312,6 +330,7 @@ public sealed class AdminMigrationOptionsTests
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_CANDIDATE_MANAGEMENT_ENABLED", previousCandidateManagementEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_REGISTRATION_PAYMENT_WRITES_ENABLED", previousRegistrationPaymentWritesEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED", previousWorkflowOperationsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED", previousExamManagementEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_ALLOW_MEMORY", previousAllowMemory);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user