| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using Admin.NET.Core;
- using Admin.NET.Plugin.AiDOP.Infrastructure;
- using Admin.NET.Plugin.AiDOP.Entity;
- using Xunit;
- namespace Admin.NET.Plugin.AiDOP.Tests;
- public class AidopTenantMigrationTests
- {
- [Fact]
- public void AtomicEntity_IsExcludedFromGlobalCodeFirst()
- {
- var ignore = typeof(AdoSmartOpsKpiAtomicDay)
- .GetCustomAttributes(typeof(IgnoreTableAttribute), inherit: false);
- Assert.Single(ignore);
- }
- [Fact]
- public void AtomicDefaults_ReadySchemaDoesNotGenerateAlter()
- {
- var columns = ReadyColumns();
- var clauses = AidopTenantMigration.BuildKpiAtomicDefaultAlterClauses(columns);
- Assert.Empty(clauses);
- }
- [Fact]
- public void AtomicDefaults_OnlyRepairsDriftedColumns()
- {
- var columns = ReadyColumns();
- columns.Single(x => x.Name == "grain").DefaultValue = null;
- var clauses = AidopTenantMigration.BuildKpiAtomicDefaultAlterClauses(columns);
- var clause = Assert.Single(clauses);
- Assert.Contains("MODIFY grain", clause);
- }
- private static List<KpiAtomicColumnState> ReadyColumns()
- {
- var emptyDefaultColumns = new[]
- {
- "customer_code", "product_code", "order_no", "production_line",
- "supplier_code", "material_code", "po_no", "warehouse_code",
- "work_order_no", "equipment_code", "outbound_no"
- };
- var columns = emptyDefaultColumns
- .Select(name => new KpiAtomicColumnState
- {
- Name = name,
- DefaultValue = "",
- IsNullable = "NO"
- })
- .ToList();
- columns.Add(new KpiAtomicColumnState { Name = "grain", DefaultValue = "day", IsNullable = "NO" });
- columns.Add(new KpiAtomicColumnState { Name = "is_deleted", DefaultValue = "0", IsNullable = "NO" });
- return columns;
- }
- }
|