public void Should_be_a_swagger_document_for_each_category_in_the_CompositesMetadataProvider() { var compositeCategoryNames = _compositesMetadataProvider.GetAllCategories() .Select(c => c.Name); Assert.That( _actualMetadata.Select(m => m.Name) .OrderBy(n => n), Is.EquivalentTo(compositeCategoryNames)); }
protected override void Arrange() { AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Composites_Test>(); var compositeMetadataProvider = new CompositesMetadataProvider(); var resourceModel = DomainModelDefinitionsProviderHelper.DomainModelProvider.GetDomainModel() .ResourceModel; var definitionProcessor = new CompositeDefinitionProcessor <CompositeResourceModelBuilderContext, global::EdFi.Ods.Common.Models.Resource.Resource>( new CompositeResourceModelBuilder()); // It is possible to add validation on composite names within the MetadataController logic if it's needed. // Get all the category names var categoryNames = compositeMetadataProvider.GetAllCategories() .First(c => c.Name.Equals("test") && c.DisplayName.Equals("Test")); IReadOnlyList <XElement> compositeDefinitions; compositeMetadataProvider.TryGetCompositeDefinitions(categoryNames.OrganizationCode, categoryNames.Name, out compositeDefinitions); var compositeResources = new List <global::EdFi.Ods.Common.Models.Resource.Resource>(); foreach (var compositeDefinition in compositeDefinitions) { // Enable this for composite xml validation. definitionProcessor.UseCompositeValidation(); var compositeResource = definitionProcessor.Process( compositeDefinition, resourceModel, new CompositeResourceModelBuilderContext()); compositeResources.Add(compositeResource); } var compositesResource = compositeResources.First(c => c.Name.Equals("BaseAssessmentUnflattenedEmbeddedObject")); _embeddedObject = compositesResource.EmbeddedObjects.First(e => e.PropertyName.Equals("AssessmentContentStandard")); }