按 examId 延迟加载成绩工作区,未选择考试时不执行排名计算
单条及批量成绩草稿、发布 特长分单条及批量维护 成绩复议多级审批、终审改分、归档锁定 排名、等级、单科达线和考试汇总 成绩台账 Excel 导出 管理范围、超级管理员写权限及事务审计 独立开关 ADMIN_NATIVE_RESULTS_ENABLED
This commit is contained in:
@@ -286,6 +286,36 @@ public sealed class AdminMigrationOptionsTests
|
||||
}, arrangementsEnabled: "true");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ResultsRequireOperationalReads()
|
||||
{
|
||||
WithEnvironment("true", null, null, () =>
|
||||
{
|
||||
var exception = Assert.Throws<InvalidOperationException>(() =>
|
||||
AdminMigrationOptions.FromEnvironment(
|
||||
configuredNativeReadsEnabled: false,
|
||||
authenticationNativeEnabled: true,
|
||||
sharesLegacySessions: true));
|
||||
|
||||
Assert.Contains("ADMIN_NATIVE_OPERATIONAL_READS_ENABLED=true", exception.Message);
|
||||
}, resultsEnabled: "true");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EnablesResultsWithOperationalReadsAndSharedSessions()
|
||||
{
|
||||
WithEnvironment("true", null, null, () =>
|
||||
{
|
||||
var options = AdminMigrationOptions.FromEnvironment(
|
||||
configuredNativeReadsEnabled: false,
|
||||
authenticationNativeEnabled: true,
|
||||
sharesLegacySessions: true);
|
||||
|
||||
Assert.True(options.NativeOperationalReadsEnabled);
|
||||
Assert.True(options.NativeResultsEnabled);
|
||||
}, operationalReadsEnabled: "true", resultsEnabled: "true");
|
||||
}
|
||||
|
||||
private static void WithEnvironment(
|
||||
string? nativeReadsEnabled,
|
||||
string? nativeOrganizationWritesEnabled,
|
||||
@@ -301,7 +331,8 @@ public sealed class AdminMigrationOptionsTests
|
||||
string? registrationPaymentWritesEnabled = null,
|
||||
string? workflowOperationsEnabled = null,
|
||||
string? examManagementEnabled = null,
|
||||
string? arrangementsEnabled = null)
|
||||
string? arrangementsEnabled = null,
|
||||
string? resultsEnabled = null)
|
||||
{
|
||||
var previousNativeReadsEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_READS_ENABLED");
|
||||
var previousNativeOrganizationWritesEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_ORGANIZATION_WRITES_ENABLED");
|
||||
@@ -316,6 +347,7 @@ public sealed class AdminMigrationOptionsTests
|
||||
var previousWorkflowOperationsEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED");
|
||||
var previousExamManagementEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED");
|
||||
var previousArrangementsEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_ARRANGEMENTS_ENABLED");
|
||||
var previousResultsEnabled = Environment.GetEnvironmentVariable("ADMIN_NATIVE_RESULTS_ENABLED");
|
||||
var previousAllowMemory = Environment.GetEnvironmentVariable("ADMIN_NATIVE_ALLOW_MEMORY");
|
||||
try
|
||||
{
|
||||
@@ -332,6 +364,7 @@ public sealed class AdminMigrationOptionsTests
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED", workflowOperationsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED", examManagementEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_ARRANGEMENTS_ENABLED", arrangementsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_RESULTS_ENABLED", resultsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_ALLOW_MEMORY", allowMemory);
|
||||
test();
|
||||
}
|
||||
@@ -350,6 +383,7 @@ public sealed class AdminMigrationOptionsTests
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_WORKFLOW_OPERATIONS_ENABLED", previousWorkflowOperationsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_EXAM_MANAGEMENT_ENABLED", previousExamManagementEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_ARRANGEMENTS_ENABLED", previousArrangementsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_RESULTS_ENABLED", previousResultsEnabled);
|
||||
Environment.SetEnvironmentVariable("ADMIN_NATIVE_ALLOW_MEMORY", previousAllowMemory);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user