KpiTargetContractTests.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Admin.NET.Plugin.AiDOP.Infrastructure;
  2. using Admin.NET.Plugin.AiDOP.SmartOps;
  3. using Xunit;
  4. namespace Admin.NET.Plugin.AiDOP.Tests.SmartOps;
  5. public class KpiTargetContractTests
  6. {
  7. [Fact]
  8. public void KanbanSafeWhenTargetNull()
  9. {
  10. var e = AidopS4KpiMerge.Evaluate(80m, null, "higher_is_better");
  11. Assert.Equal("yellow", e.Status);
  12. Assert.Null(e.RatioPercent);
  13. }
  14. [Fact]
  15. public void DemoImportEndpoint_IsIndependent()
  16. {
  17. var t = typeof(Admin.NET.Plugin.AiDOP.Controllers.AdoSmartOpsKpiMasterController);
  18. Assert.NotNull(t.GetMethod("ImportDemoData"));
  19. var targetCtl = typeof(Admin.NET.Plugin.AiDOP.Controllers.AdoSmartOpsKpiTargetController);
  20. Assert.Null(targetCtl.GetMethod("ImportDemoData"));
  21. }
  22. [Fact]
  23. public void SnapshotSource_IsNotConfigSource()
  24. {
  25. Assert.NotEqual(KpiTargetConfigSource.Manual, KpiTargetSnapshotSource.FormalFactory);
  26. Assert.Equal("FORMAL_FACTORY", KpiTargetSnapshotSource.FormalFactory);
  27. Assert.Equal("MANUAL", KpiTargetConfigSource.Manual);
  28. }
  29. [Fact]
  30. public void S1RefreshController_RequiresAuthorize()
  31. {
  32. var t = typeof(Admin.NET.Plugin.AiDOP.Controllers.AidopKanbanS1RefreshController);
  33. Assert.NotNull(Attribute.GetCustomAttribute(t, typeof(Microsoft.AspNetCore.Authorization.AuthorizeAttribute)));
  34. Assert.Null(Attribute.GetCustomAttribute(t, typeof(Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute)));
  35. }
  36. }