public void ValidModel(ProvisionTypeEnum provisionType, bool organizationsSet)
        {
            // Arrange
            var id   = Guid.NewGuid();
            var list = new List <Guid> {
                id
            };

            commonServiceMockSetup.Setup(s => s.OrganizationExists(id, PublishingStatus.Published)).Returns(true);
            var validator = new ServiceProducerListValidator(new List <VmOpenApiServiceProducerIn>
            {
                new VmOpenApiServiceProducerIn
                {
                    ProvisionType         = provisionType.ToString(),
                    Organizations         = organizationsSet ? list : null,
                    AdditionalInformation = !organizationsSet ? new List <VmOpenApiLanguageItem> {
                        new VmOpenApiLanguageItem {
                            Value = "test"
                        }
                    } : null
                }
            }, list, commonService);

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

            // Assert
            controller.ModelState.IsValid.Should().BeTrue();
        }
        public void ModelIsNull()
        {
            // Arrange
            var validator = new ServiceProducerListValidator(null, null, commonService);

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

            // Assert
            controller.ModelState.IsValid.Should().BeTrue();
        }
        public void ProvisionTypeIsSet_NoOrganizationOrAdditionalInformationSet(ProvisionTypeEnum provisionType)
        {
            // Arrange
            var validator = new ServiceProducerListValidator(new List <VmOpenApiServiceProducerIn>
            {
                new VmOpenApiServiceProducerIn
                {
                    ProvisionType = provisionType.ToString(),
                }
            }, null, commonService);

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

            // Assert
            controller.ModelState.IsValid.Should().BeFalse();
        }
        public void ProvisionTypeIsSelfProduced_OrganizationNotInAvailableOrganizations()
        {
            // Arrange
            var validator = new ServiceProducerListValidator(new List <VmOpenApiServiceProducerIn>
            {
                new VmOpenApiServiceProducerIn
                {
                    ProvisionType = ProvisionTypeEnum.SelfProduced.ToString(),
                    Organizations = new List <Guid> {
                        Guid.NewGuid()
                    }
                }
            }, new List <Guid> {
                Guid.NewGuid()
            }, commonService);

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

            // Assert
            controller.ModelState.IsValid.Should().BeFalse();
        }
        public void ProvisionTypeIsSelfProduced_AdditionalInformationSet()
        {
            // Arrange
            var validator = new ServiceProducerListValidator(new List <VmOpenApiServiceProducerIn>
            {
                new VmOpenApiServiceProducerIn
                {
                    ProvisionType         = ProvisionTypeEnum.SelfProduced.ToString(),
                    AdditionalInformation = new List <VmOpenApiLanguageItem> {
                        new VmOpenApiLanguageItem {
                            Value = "test"
                        }
                    }
                }
            }, null, commonService);

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

            // Assert
            controller.ModelState.IsValid.Should().BeFalse();
        }
        public void ProvisionTypeIsSelfProduced_Valid()
        {
            // Arrange
            var id   = Guid.NewGuid();
            var list = new List <Guid> {
                id
            };

            commonServiceMockSetup.Setup(s => s.OrganizationExists(id, PublishingStatus.Published)).Returns(true);
            var validator = new ServiceProducerListValidator(new List <VmOpenApiServiceProducerIn>
            {
                new VmOpenApiServiceProducerIn
                {
                    ProvisionType = ProvisionTypeEnum.SelfProduced.ToString(),
                    Organizations = list
                }
            }, list, commonService);

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

            // Assert
            controller.ModelState.IsValid.Should().BeTrue();
        }