コード例 #1
0
        public void TestValidate_QueryWithTooLongProductNumber_ValidationError(
            GetProductQueryValidator sut,
            GetProductQuery query
            )
        {
            var result = sut.TestValidate(query);

            result.ShouldHaveValidationErrorFor(query => query.ProductNumber)
            .WithErrorMessage("Product number must not exceed 25 characters");
        }
コード例 #2
0
        public void TestValidate_Valid_NoValidationError(
            GetProductQueryValidator sut,
            GetProductQuery query
            )
        {
            query.ProductNumber = query.ProductNumber.Substring(0, 25);
            var result = sut.TestValidate(query);

            result.ShouldNotHaveValidationErrorFor(query => query.ProductNumber);
        }
コード例 #3
0
        public void TestValidate_QueryWithEmptyProductNumber_ValidationError(
            GetProductQueryValidator sut,
            GetProductQuery query
            )
        {
            query.ProductNumber = "";
            var result = sut.TestValidate(query);

            result.ShouldHaveValidationErrorFor(query => query.ProductNumber)
            .WithErrorMessage("Product number is required");
        }
コード例 #4
0
        public void TestValidate_ProductNumberDoesNotExist_ValidationError(
            [Frozen] Mock <IRepository <Entities.Product> > productRepoMock,
            GetProductQueryValidator sut,
            GetProductQuery query
            )
        {
            productRepoMock.Setup(x => x.GetBySpecAsync(
                                      It.IsAny <GetProductSpecification>(),
                                      It.IsAny <CancellationToken>()
                                      ))
            .ReturnsAsync((Entities.Product)null);

            var result = sut.TestValidate(query);

            result.ShouldHaveValidationErrorFor(query => query.ProductNumber)
            .WithErrorMessage("Product does not exist");
        }