示例#1
0
        public static void Validate_PriceIdIsNotNull_DoesNotHaveError(
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.PriceId);
        }
示例#2
0
        public static void Validate_CatalogueSolutionIdIsValid_IsAdditionalService_DoesNotHaveError(
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType   = nameof(CatalogueItemType.AdditionalService);
            model.CatalogueSolutionId = new CatalogueItemId(1, "001").ToString();

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.CatalogueSolutionId);
        }
示例#3
0
        public static void Validate_PriceIsNull_HasError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel();

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.Price)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.Price)}Required");
        }
示例#4
0
        public static void Validate_TimeUnitIsNull_IsOnDemand_DoesNotHaveError(
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = nameof(ProvisioningType.OnDemand);
            model.TimeUnit         = null;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.TimeUnit);
        }
示例#5
0
        public static void Validate_CurrencyCodeIsValid_DoesNotHaveError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                CurrencyCode = "GBP"
            };

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.CurrencyCode);
        }
示例#6
0
        public static void Validate_PriceIsValid_DoesNotHaveError(decimal price)
        {
            var model = new CreateOrderItemModel {
                Price = price
            };
            var validator = new CreateOrderItemModelValidator();

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.Price);
        }
示例#7
0
        public static void Validate_ProvisioningTypeIsValid_DoesNotHaveError(
            string provisioningType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = provisioningType;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.ProvisioningType);
        }
示例#8
0
        public static void Validate_CatalogueItemNameIsValid_DoesNotHaveError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                CatalogueItemName = new string('A', 255)
            };

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.CatalogueItemName);
        }
示例#9
0
        public static void Validate_CatalogueItemTypeIsValid_DoesNotHaveError(
            string catalogueItemType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType = catalogueItemType;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.CatalogueItemType);
        }
示例#10
0
        public static void Validate_CatalogueSolutionIdIsNull_IsNotAdditionalService_DoesNotHaveError(
            string catalogueItemType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType   = catalogueItemType;
            model.CatalogueSolutionId = null;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.CatalogueSolutionId);
        }
示例#11
0
        public static void Validate_EstimationPeriodIsNotValid_IsNotOnDemand_DoesNotHaveError(
            string provisioningType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = provisioningType;
            model.EstimationPeriod = "InvalidTimeUnit";

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.EstimationPeriod);
        }
示例#12
0
        public static void Validate_CatalogueItemTypeIsEmpty_HasError(
            string catalogueItemType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType = catalogueItemType;
            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CatalogueItemType)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CatalogueItemType)}Required");
        }
示例#13
0
        public static void Validate_ItemUnitIsNotNull_DoesNotHaveError(
            ItemUnitModel itemUnit,
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                ItemUnit = itemUnit
            };

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.ItemUnit);
        }
示例#14
0
        public static void Validate_TypeIsValid_DoesNotHaveError(
            string type,
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                Type = type
            };

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.Type);
        }
示例#15
0
        public static void Validate_CatalogueItemTypeIsNotValid_HasError(
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType = "InvalidCatalogueItemType";

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CatalogueItemType)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CatalogueItemType)}ValidValue");
        }
示例#16
0
        public static void Validate_EstimationPeriodIsValid_IsOnDemand_DoesNotHaveError(
            string estimationPeriod,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = nameof(ProvisioningType.OnDemand);
            model.EstimationPeriod = estimationPeriod;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.EstimationPeriod);
        }
示例#17
0
        public static void Validate_CatalogueSolutionIdIsNotCatalogueItemId_IsAdditionalService_HasError(
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType   = nameof(CatalogueItemType.AdditionalService);
            model.CatalogueSolutionId = new string('1', 14);

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CatalogueSolutionId)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CatalogueSolutionId)}ValidValue");
        }
示例#18
0
        public static void Validate_CurrencyCodeIsNotValid_HasError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                CurrencyCode = "InvalidCurrencyCode"
            };

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CurrencyCode)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CurrencyCode)}ValidValue");
        }
示例#19
0
        public static void Validate_EstimationPeriodIsNotValid_IsOnDemand_HasError(
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = nameof(ProvisioningType.OnDemand);
            model.EstimationPeriod = "InvalidTimeUnit";

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.EstimationPeriod)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.EstimationPeriod)}ValidValue");
        }
示例#20
0
        public static void Validate_ServiceRecipientsIsNotNull_IsNotAssociatedService_DoesNotHaveError(
            string catalogueItemType,
            List <OrderItemRecipientModel> recipients,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType = catalogueItemType;
            model.ServiceRecipients = recipients;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.ServiceRecipients);
        }
示例#21
0
        public static void Validate_CatalogueItemNameIsTooLong_HasError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                CatalogueItemName = new string('A', 256)
            };

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CatalogueItemName)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CatalogueItemName)}TooLong");
        }
示例#22
0
        public static void Validate_PriceIsLessThanZero_HasError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                Price = -0.01m
            };

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.Price)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.Price)}GreaterThanOrEqualToZero");
        }
示例#23
0
        public static void Validate_PriceIsMaxPrice_HasError(
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                Price = CreateOrderItemModelValidator.MaxPrice + 0.001m
            };

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.Price)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.Price)}LessThanMax");
        }
示例#24
0
        public static void Validate_TimeUnitIsNotNull_IsNotOnDemand_DoesNotHaveError(
            string provisioningType,
            TimeUnitModel timeUnit,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = provisioningType;
            model.TimeUnit         = timeUnit;

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.TimeUnit);
        }
示例#25
0
        public static void Validate_CatalogueItemTypeIsNotValid_DoesNotHaveErrorsForDependentRules(
            string catalogueItemType,
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                CatalogueItemType = catalogueItemType
            };

            var result = validator.TestValidate(model);

            result.ShouldNotHaveValidationErrorFor(m => m.CatalogueSolutionId);
            result.ShouldNotHaveValidationErrorFor(m => m.ServiceRecipients);
            result.ShouldNotHaveValidationErrorFor(m => m.TimeUnit);
        }
示例#26
0
        public static void Validate_CurrencyCodeIsEmpty_HasError(
            string currencyCode,
            CreateOrderItemModelValidator validator)
        {
            var model = new CreateOrderItemModel {
                CurrencyCode = currencyCode
            };

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CurrencyCode)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CurrencyCode)}Required");
        }
示例#27
0
        public static void Validate_CatalogueSolutionIdIsEmpty_IsAdditionalService_HasError(
            string catalogueSolutionId,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType   = nameof(CatalogueItemType.AdditionalService);
            model.CatalogueSolutionId = catalogueSolutionId;

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.CatalogueSolutionId)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.CatalogueSolutionId)}Required");
        }
示例#28
0
        public static void Validate_ServiceRecipientsIsNull_IsNotAssociatedService_HasError(
            string catalogueItemType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.CatalogueItemType = catalogueItemType;
            model.ServiceRecipients = null;

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.ServiceRecipients)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.ServiceRecipients)}Required");
        }
示例#29
0
        public static void Validate_EstimationPeriodIsEmpty_IsOnDemand_HasError(
            string estimationPeriod,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = nameof(ProvisioningType.OnDemand);
            model.EstimationPeriod = estimationPeriod;

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.EstimationPeriod)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.EstimationPeriod)}RequiredIfVariableOnDemand");
        }
示例#30
0
        public static void Validate_TimeUnitIsNull_IsNotOnDemand_HasError(
            string provisioningType,
            CreateOrderItemModel model,
            CreateOrderItemModelValidator validator)
        {
            model.ProvisioningType = provisioningType;
            model.TimeUnit         = null;

            var result = validator.TestValidate(model);

            result
            .ShouldHaveValidationErrorFor(m => m.TimeUnit)
            .WithErrorMessage($"{nameof(CreateOrderItemModel.TimeUnit)}Required");
        }