已发布方案可修改名称、总学分、说明、课程模块及课程配置。
适用专业、入学年级、版本号保持锁定;前端禁用,后端也会返回 409 拒绝篡改。 归档方案仍只读。 修改已发布方案前增加即时生效警示和二次确认。
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
using Jiaowu.Api.Domain.Academic;
|
||||
using Jiaowu.Api.Infrastructure.Graduation;
|
||||
|
||||
namespace Jiaowu.Api.Tests;
|
||||
|
||||
public sealed class CurriculumPlanEditingPolicyTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(CurriculumPlanStatus.Draft, true)]
|
||||
[InlineData(CurriculumPlanStatus.Published, true)]
|
||||
[InlineData(CurriculumPlanStatus.Archived, false)]
|
||||
public void Content_modification_is_limited_to_draft_and_published_plans(
|
||||
CurriculumPlanStatus status,
|
||||
bool expected)
|
||||
{
|
||||
Assert.Equal(expected, CurriculumPlanEditingPolicy.CanModifyContent(status));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(CurriculumPlanStatus.Draft, true)]
|
||||
[InlineData(CurriculumPlanStatus.Published, false)]
|
||||
[InlineData(CurriculumPlanStatus.Archived, false)]
|
||||
public void Only_draft_plans_can_change_their_applicability(
|
||||
CurriculumPlanStatus status,
|
||||
bool expected)
|
||||
{
|
||||
Assert.Equal(expected, CurriculumPlanEditingPolicy.CanChangeApplicability(status));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user