| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using System.ComponentModel.DataAnnotations;
- using Admin.NET.Plugin.AiDOP.Dto.S0.Quality;
- using Xunit;
- namespace Admin.NET.Plugin.AiDOP.Tests.S0.Quality;
- public class AdoS0QualityDtosValidationTests
- {
- private static IReadOnlyList<ValidationResult> Validate(object model)
- {
- var context = new ValidationContext(model);
- var results = new List<ValidationResult>();
- Validator.TryValidateObject(model, context, results, validateAllProperties: true);
- return results;
- }
- [Fact]
- public void RawWhitelist_WhenSupplierFieldsMissing_ReturnsRequiredErrors()
- {
- var dto = new AdoS0QmsRawWhitelistUpsertDto
- {
- SupplierCode = "",
- SupplierName = ""
- };
- var results = Validate(dto);
- Assert.Contains(results, r => r.ErrorMessage == "供应商编码不能为空");
- Assert.Contains(results, r => r.ErrorMessage == "供应商名称不能为空");
- }
- [Theory]
- [InlineData(typeof(AdoS0QmsSamplingSchemeUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionInstrumentUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionMethodUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionItemUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionFrequencyUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionBasisUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionStandardUpsertDto))]
- [InlineData(typeof(AdoS0QmsInspectionPlanUpsertDto))]
- public void NumberNameDtos_WhenDefaultsUsed_ReturnRequiredErrors(Type dtoType)
- {
- var dto = Activator.CreateInstance(dtoType)!;
- var results = Validate(dto);
- Assert.Contains(results, r => r.ErrorMessage == "编号不能为空");
- Assert.Contains(results, r => r.ErrorMessage == "名称不能为空");
- }
- [Theory]
- [InlineData(typeof(AdoS0QmsRawInspectionSpecUpsertDto))]
- [InlineData(typeof(AdoS0QmsProcessInspectionSpecUpsertDto))]
- public void FileNumberDtos_WhenDefaultsUsed_ReturnRequiredError(Type dtoType)
- {
- var dto = Activator.CreateInstance(dtoType)!;
- var results = Validate(dto);
- Assert.Contains(results, r => r.ErrorMessage == "文件编号不能为空");
- }
- }
|