Skip to content

Commit 18cee97

Browse files
committed
Handle Deserialization of SetAttribute of SetAttribute elements to solve issue #171
1 parent bf1fdf1 commit 18cee97

File tree

8 files changed

+585
-5
lines changed

8 files changed

+585
-5
lines changed

commercetools.Sdk/Tests/commercetools.Sdk.Serialization.Tests/AttributeDeserializationTests.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,24 @@ public void DeserializeDateTimeAsTextAttribute()
342342
var deserialized = serializerService.Deserialize<ProductVariant>(serialized);
343343
Assert.IsAssignableFrom<Attribute<string>>(deserialized.Attributes[0]);
344344
}
345+
346+
[Fact]
347+
public void DeserializeProductWithSetOfSetAttribute()
348+
{
349+
var serializerService = this.serializationFixture.SerializerService;
350+
var productSerialized = File.ReadAllText("Resources/Attributes/SetOfSetAttribute.json");
351+
352+
var product = serializerService.Deserialize<Product>(productSerialized);
353+
var attr = product.MasterData.Current.MasterVariant.Attributes[0];
354+
Assert.NotNull(attr);
355+
Assert.True(attr.IsSetAttribute<AttributeSet<string>>());
356+
var setOfSetAttr = attr as Attribute<AttributeSet<AttributeSet<string>>>;
357+
Assert.NotNull(setOfSetAttr);
358+
var firstSet = setOfSetAttr.Value.First();
359+
var secondSet = setOfSetAttr.Value.ElementAt(1);
360+
Assert.Equal("firstSet-1",firstSet.FirstOrDefault());
361+
Assert.Equal("secondSet-1",secondSet.FirstOrDefault());
362+
}
345363

346364
}
347365
}

0 commit comments

Comments
 (0)