Skip to content

Commit

Permalink
Ensure ToDynamic is called when converting a TaxonomyElement
Browse files Browse the repository at this point in the history
* Simplify FromDynamic conversion for TaxonomyElement
* Fix unit test
  • Loading branch information
kylejuliandev committed Apr 23, 2024
1 parent 5ab22f2 commit e12126d
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,11 @@ public void GetLanguageVariantUpsertModel_ReturnsExpected()
elementObject.element.id == type.GetProperty(nameof(model.TeaserImage))?.GetKontentElementId()
).value as IEnumerable<AssetWithRenditionsReference>;

var personaValue = dynamicElements.SingleOrDefault(elementObject =>
var persona = dynamicElements.SingleOrDefault(elementObject =>
elementObject.element.id == type.GetProperty(nameof(model.Personas))?.GetKontentElementId()
).value as IEnumerable<Reference>;
);

var personaValue = ((TaxonomyElement)TaxonomyElement.FromDynamic(persona, Models.Types.Elements.ElementMetadataType.Taxonomy)).Value;

var optionsValue = dynamicElements.SingleOrDefault(elementObject =>
elementObject.element.id == type.GetProperty(nameof(model.Options))?.GetKontentElementId()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public static BaseElement FromDynamic(dynamic source, Type type)
return new TaxonomyElement
{
Element = Reference.FromDynamic(source.element),
Value = (source.value as IEnumerable<dynamic>)?.Select<dynamic, Reference>(identifier => Reference.ById(Guid.Parse(identifier.id)))
Value = (source.value as IEnumerable<dynamic>)?.Select(Reference.FromDynamic)
};
}
else if (type == typeof(UrlSlugElement))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Kontent.Ai.Management.Models.Shared;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;

namespace Kontent.Ai.Management.Models.LanguageVariants.Elements;

Expand All @@ -20,6 +21,6 @@ public class TaxonomyElement : BaseElement
/// </summary>
public override dynamic ToDynamic() => new {
element = Element.ToDynamic(),
value = Value,
value = Value.Select(v => v.ToDynamic()),
};
}

0 comments on commit e12126d

Please sign in to comment.