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(); }
/// <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(); }