| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using Admin.NET.Plugin.AiDOP.Dto.S0.Manufacturing;
- using Admin.NET.Plugin.AiDOP.Infrastructure;
- using Xunit;
- namespace Admin.NET.Plugin.AiDOP.Tests.S0.Manufacturing;
- public class AdoS0ProductStructureRulesTests
- {
- private static AdoS0ProductStructureUpsertDto BaseDto() => new()
- {
- CompanyRefId = 1,
- FactoryRefId = 1,
- ParentMaterialId = 10,
- ComponentMaterialId = 20,
- Qty = 1m,
- OpNos = new List<int>()
- };
- [Fact]
- public void ValidateUpsert_SameParentComponent_ReturnsError()
- {
- var dto = BaseDto();
- dto.ComponentMaterialId = dto.ParentMaterialId;
- Assert.Equal("父项与子项物料不能相同", AdoS0ProductStructureRules.ValidateUpsert(dto));
- }
- [Fact]
- public void ValidateUpsert_Valid_ReturnsNull()
- {
- Assert.Null(AdoS0ProductStructureRules.ValidateUpsert(BaseDto()));
- }
- [Fact]
- public void ValidateUpsert_NegativeQty_ReturnsError()
- {
- var dto = BaseDto();
- dto.Qty = -1m;
- Assert.Equal("标准用量不能为负", AdoS0ProductStructureRules.ValidateUpsert(dto));
- }
- [Fact]
- public void ValidateUpsert_NegativeScrap_ReturnsError()
- {
- var dto = BaseDto();
- dto.Scrap = -0.01m;
- Assert.Equal("损耗率不能为负", AdoS0ProductStructureRules.ValidateUpsert(dto));
- }
- [Fact]
- public void ValidateUpsert_NegativeQtyConsumed_ReturnsError()
- {
- var dto = BaseDto();
- dto.QtyConsumed = -0.5m;
- Assert.Equal("固定损耗量不能为负", AdoS0ProductStructureRules.ValidateUpsert(dto));
- }
- }
|