/// <summary> /// Returns strongly typed listing of content item variants with strongly typed elements for specified content item. /// </summary> /// <typeparam name="T">Type of the content item elements</typeparam> /// <param name="identifier">The identifier of the content item.</param> /// <returns>A strongly-typed collection with content item variants.</returns> public async Task <List <ContentItemVariantModel <T> > > ListContentItemVariantsAsync <T>(ContentItemIdentifier identifier) where T : new() { if (identifier == null) { throw new ArgumentNullException(nameof(identifier)); } var endpointUrl = _urlBuilder.BuildListVariantsUrl(identifier); var response = await _actionInvoker.InvokeReadOnlyMethodAsync <List <ContentItemVariantModel> >(endpointUrl, HttpMethod.Get); return(response.Select(x => _modelProvider.GetContentItemVariantModel <T>(x)).ToList()); }
public void GetContentItemVariantModel_ReturnsExpected() { var expected = GetTestModel(); var model = new ContentItemVariantModel { Elements = ToDynamic(expected) }; var actual = _modelProvider.GetContentItemVariantModel <ComplexTestModel>(model).Elements; AssertElements(expected, actual); }