public void ValidateSku_When_not_uniqe_Then_fails() { var validator = new ProductRequestCustomValidator(); var request = ProductCreateRequestBuilder.Create() .WithProduct(ProductDtoBuilder.Create() .WithVariant(ProductVariantDtoBuilder.Create() .WithSku("001") .Build()) .WithVariant(ProductVariantDtoBuilder.Create() .WithSku("000") .Build()) .Build()) .Build(); var errors = new ArgumentErrorsCollection(); var dbContextMock = GetDbContextMock(); validator.ValidateSkus(dbContextMock.Object, request, errors); dbContextMock.VerifyGet(c => c.Products, Times.AtLeast(request.Product.Variants.Count)); Assert.IsNotEmpty(errors); Assert.IsTrue(errors.HasArgument("Product.Variants.Sku"), errors[0].ArgumentName); }
public void ValidateStoreId_When_existing_store_Then_passes() { var validator = new ProductRequestCustomValidator(); var errors = new ArgumentErrorsCollection(); var requestMock = new Mock <ProductGetByIdRequest>(); var dbContextMock = GetDbContextMock(); requestMock.SetupGet(r => r.StoreId).Returns(10); validator.ValidateStoreId(dbContextMock.Object, requestMock.Object, errors); dbContextMock.VerifyGet(c => c.Stores, Times.Once); Assert.IsEmpty(errors); }
public void ValidateStoreId_When_existing_store_Then_passes() { var validator = new ProductRequestCustomValidator(); var errors = new ArgumentErrorsCollection(); var requestMock = new Mock<ProductGetByIdRequest>(); var dbContextMock = GetDbContextMock(); requestMock.SetupGet(r => r.StoreId).Returns(10); validator.ValidateStoreId(dbContextMock.Object, requestMock.Object, errors); dbContextMock.VerifyGet(c => c.Stores, Times.Once); Assert.IsEmpty(errors); }
public void ValidateSku_When_unique_Then_passes() { var validator = new ProductRequestCustomValidator(); var request = ProductCreateRequestBuilder.Create().WithProduct( ProductDtoBuilder.Create().WithVariant( ProductVariantDtoBuilder.Create().WithSku("001") .Build()) .Build()) .Build(); var errors = new ArgumentErrorsCollection(); var dbContextMock = GetDbContextMock(); validator.ValidateSkus(dbContextMock.Object, request, errors); dbContextMock.VerifyGet(c => c.Products, Times.Once); Assert.IsEmpty(errors); }