| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using Admin.NET.Plugin.AiDOP.Manufacturing;
- using Xunit;
- namespace Admin.NET.Plugin.AiDOP.Tests.S6.Manufacturing;
- public class S6MdpSyncTransformServiceTests
- {
- [Fact]
- public void OrderFulfillmentPercent_ClampsEachOrderToZeroAndOneHundred()
- {
- var value = S6MdpSyncTransformService.CalculateOrderFulfillmentPercent(new[]
- {
- (PlanQty: (decimal?)100m, DoneQty: (decimal?)150m),
- (PlanQty: (decimal?)100m, DoneQty: (decimal?)-20m),
- (PlanQty: (decimal?)0m, DoneQty: (decimal?)100m)
- });
- Assert.Equal(50m, value);
- }
- [Fact]
- public void RunFull_ContainsAllThreeOrderLevelKpis()
- {
- var source = ReadServiceSource();
- Assert.Contains("result.MergeSub(\"S6_L1_001\"", source);
- Assert.Contains("result.MergeSub(\"S6_L1_002\"", source);
- Assert.Contains("result.MergeSub(\"S6_L1_003\"", source);
- }
- [Fact]
- public void OrderAndWorkOrderKpis_WriteToSeparateValueTables()
- {
- var source = ReadServiceSource();
- Assert.Contains("UpsertKpiValueAsync(\"S6_L1_001\"", source);
- Assert.Contains("UpsertKpiValueAsync(\"S6_L1_002\"", source);
- Assert.Contains("UpsertKpiValueAsync(\"S6_L1_003\"", source);
- Assert.Contains("UpsertKpiValueAsync(\"S6_L2_002\"", source);
- Assert.Contains("UpsertKpiValueAsync(\"S6_L2_003\"", source);
- Assert.Contains("option, L2ValueTable)", source);
- Assert.Contains("valueTable = \"ado_s9_kpi_value_l1_day\"", source);
- }
- [Fact]
- public void StandardLayerQueries_UseTenantAndZtidParameters()
- {
- var source = ReadServiceSource();
- Assert.DoesNotContain("where a.ztid=@ztid", source, StringComparison.OrdinalIgnoreCase);
- Assert.DoesNotContain("where ztid=@ztid", source, StringComparison.OrdinalIgnoreCase);
- Assert.Contains("tenant_id=@tenantId", source, StringComparison.OrdinalIgnoreCase);
- Assert.Contains("a.ztid=@ztid", source, StringComparison.OrdinalIgnoreCase);
- }
- [Fact]
- public void OrderLevelQueries_AvoidReservedLinesAlias()
- {
- var source = ReadServiceSource();
- Assert.DoesNotContain(") lines", source, StringComparison.OrdinalIgnoreCase);
- Assert.Contains(") order_lines", source, StringComparison.OrdinalIgnoreCase);
- }
- private static string ReadServiceSource()
- {
- var dir = new DirectoryInfo(AppContext.BaseDirectory);
- while (dir != null)
- {
- var candidate = Path.Combine(dir.FullName,
- "server", "Plugins", "Admin.NET.Plugin.AiDOP", "Manufacturing",
- "S6MdpSyncTransformService.cs");
- if (File.Exists(candidate)) return File.ReadAllText(candidate);
- dir = dir.Parent;
- }
- throw new FileNotFoundException("S6MdpSyncTransformService.cs");
- }
- }
|