feat: 风控批量操作前后端统一改造,允许部分成功并优化提示信息
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using YLErp.Modules.RiskEngine.Dto;
|
||||
|
||||
namespace YLErp.Modules.RiskEngine
|
||||
{
|
||||
[TestClass]
|
||||
public class RiskApplicationQueryContractTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void QueryRequest_UsesFrontendParameterNames()
|
||||
{
|
||||
var request = new QueryRiskApplicationReq
|
||||
{
|
||||
page = 1,
|
||||
rows = 20,
|
||||
Keyword = "本金",
|
||||
ControlStrategy = (RiskControlStrategy)2,
|
||||
Status = (RiskRuleStatus)1,
|
||||
ScopeAssetBookIds = "2000041",
|
||||
ScopeClientIds = "1000017",
|
||||
ScopeUnderlyingTypes = "深交所债券ETF",
|
||||
ScopeTradeTypes = "收益互换"
|
||||
};
|
||||
|
||||
Assert.AreEqual("本金", request.Keyword);
|
||||
Assert.AreEqual(RiskControlStrategy.Approval, request.ControlStrategy);
|
||||
Assert.AreEqual(RiskRuleStatus.Active, request.Status);
|
||||
Assert.AreEqual("2000041", request.ScopeAssetBookIds);
|
||||
Assert.AreEqual("1000017", request.ScopeClientIds);
|
||||
Assert.AreEqual("深交所债券ETF", request.ScopeUnderlyingTypes);
|
||||
Assert.AreEqual("收益互换", request.ScopeTradeTypes);
|
||||
|
||||
Assert.IsNull(typeof(QueryRiskApplicationReq).GetProperty("RuleName"));
|
||||
Assert.IsNull(typeof(QueryRiskApplicationReq).GetProperty("Strategy"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Reflection;
|
||||
|
||||
namespace YLErp.Modules.RiskEngine
|
||||
{
|
||||
[TestClass]
|
||||
public class RiskConcurrencyTokenTest
|
||||
{
|
||||
[DataTestMethod]
|
||||
[DataRow(typeof(glms_risk_rule))]
|
||||
[DataRow(typeof(glms_risk_rule_application))]
|
||||
[DataRow(typeof(glms_risk_variable))]
|
||||
public void Version_IsConfiguredAsConcurrencyToken(Type entityType)
|
||||
{
|
||||
var versionProperty = entityType.GetProperty("Version", BindingFlags.Instance | BindingFlags.Public);
|
||||
|
||||
Assert.IsNotNull(versionProperty, $"{entityType.Name} 缺少 Version 属性");
|
||||
Assert.IsNotNull(
|
||||
versionProperty.GetCustomAttribute<ConcurrencyCheckAttribute>(),
|
||||
$"{entityType.Name}.Version 未配置为 EF concurrency token");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace YLErp.Modules.RiskEngine
|
||||
{
|
||||
[TestClass]
|
||||
public class RiskRuleDefaultStatusTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void NewRiskRule_DefaultStatus_IsDisabled()
|
||||
{
|
||||
var rule = new glms_risk_rule();
|
||||
|
||||
Assert.AreEqual(RiskRuleStatus.Disabled, rule.Status);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void NewRiskRuleApplication_DefaultStatus_IsDisabled()
|
||||
{
|
||||
var application = new glms_risk_rule_application();
|
||||
|
||||
Assert.AreEqual(RiskRuleStatus.Disabled, application.Status);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user