public void ModelIsValid_DescriptionSet()
        {
            // Arrange
            var language = "language";
            var vm       = new VmOpenApiGeneralDescriptionInVersionBase
            {
                Names = new List <VmOpenApiLocalizedListItem>
                {
                    new VmOpenApiLocalizedListItem
                    {
                        Language = language, Type = NameTypeEnum.Name.ToString(), Value = "TestValue"
                    }
                },
                Descriptions = new List <VmOpenApiLocalizedListItem>
                {
                    new VmOpenApiLocalizedListItem
                    {
                        Language = language, Type = DescriptionTypeEnum.Description.ToString(), Value = "TestValue"
                    },
                    new VmOpenApiLocalizedListItem
                    {
                        Language = language, Type = DescriptionTypeEnum.ShortDescription.ToString(), Value = "TestValue"
                    }
                }
            };
            var validator = new GeneralDescriptionValidator(vm, codeService, fintoService, new List <string> {
                language
            }, true);

            // Act
            validator.Validate(controller.ModelState);

            // Assert
            controller.ModelState.IsValid.Should().BeTrue();
        }
Example #2
0
        /// <summary>
        /// Validates general description model.
        /// </summary>
        /// <param name="request"></param>
        /// <param name="createOperation"></param>
        protected void ValidateParameters(IVmOpenApiGeneralDescriptionInVersionBase request, bool createOperation = true)
        {
            IList <string> newLanguages = new List <string>();

            if (createOperation)
            {
                newLanguages = request.AvailableLanguages;
            }
            else
            {
                var currentVersion = generalDescriptionService.GetGeneralDescriptionVersionBase(request.Id.Value, 0, false);
                if (currentVersion == null || string.IsNullOrEmpty(currentVersion.PublishingStatus))
                {
                    this.ModelState.AddModelError("General description id", $"Version for service with id '{request.Id.Value}' not found.");
                }
                else
                {
                    request.CurrentPublishingStatus = currentVersion.PublishingStatus;
                    // Get the available languages from current version
                    // Check if user has added new language versions. New available languages and data need to be validated (required fields need to exist in request).
                    newLanguages             = request.AvailableLanguages.Where(i => !currentVersion.AvailableLanguages.Contains(i)).ToList();
                    request.CurrentVersionId = currentVersion.CurrentVersionId;
                }
            }

            GeneralDescriptionValidator service = new GeneralDescriptionValidator(request, codeService, fintoService, newLanguages, createOperation);

            service.Validate(this.ModelState);
        }
        public void DescriptionOrBackGroundDescriptionNotSet()
        {
            // Arrange
            var vm = new VmOpenApiGeneralDescriptionInVersionBase
            {
                Descriptions = new List <VmOpenApiLocalizedListItem>()
            };
            var validator = new GeneralDescriptionValidator(vm, codeService, fintoService, new List <string> {
                "language"
            }, true);

            // Act
            validator.Validate(controller.ModelState);

            // Assert
            controller.ModelState.IsValid.Should().BeFalse();
            controller.ModelState.ContainsKey("Descriptions").Should().BeTrue();
        }