Issue #AR-3_IEnumerable_support: fix json for simple list model - simple list model passes

This commit is contained in:
cankoluman
2014-05-06 12:13:37 +01:00
parent bc6580995a
commit 72303c1c83
3 changed files with 51 additions and 58 deletions
@@ -10,19 +10,16 @@ namespace Archetype.Tests.Serialization.Enumerable
[TestFixture]
public class ArchetypeJsonConverterTest : ArchetypeJsonConverterTestBase
{
private Feedback _feedback;
private Feedbacks _feedbacks;
[SetUp]
public void SetUp()
{
_feedback = new Feedback
_feedbacks = new Feedbacks
{
Testimonials = new List<String>
{
"Testimonial 1",
"Testimonial 2",
"Testimonial 3"
}
new Feedback{Testimonial = "Testimonial 1"},
new Feedback{Testimonial = "Testimonial 2"},
new Feedback{Testimonial = "Testimonial 3"}
};
}
@@ -30,7 +27,7 @@ namespace Archetype.Tests.Serialization.Enumerable
public void Convert_FeedbackModel_To_Archetype()
{
var converter = new ArchetypeValueConverter();
var json = JsonConvert.SerializeObject(_feedback);
var json = JsonConvert.SerializeObject(_feedbacks);
var archetype = (Umbraco.Models.Archetype)converter.ConvertDataToSource(null, json, false);
Assert.NotNull(archetype);
@@ -39,21 +36,21 @@ namespace Archetype.Tests.Serialization.Enumerable
[Test]
public void Convert_FeedbackModel_To_ArchetypeJson()
{
var json = ConvertModelToArchetype(_feedback);
var json = ConvertModelToArchetypeJson(_feedbacks, Formatting.Indented);
Assert.AreEqual(JsonTestStrings._FEEDBACK_JSON, json);
}
[Test]
public void Convert_ArchetypeJson_To_FeedbackModel()
{
var result = ConvertArchetypeJsonToModel<Feedback>(JsonTestStrings._FEEDBACK_JSON);
var result = ConvertArchetypeJsonToModel<Feedbacks>(JsonTestStrings._FEEDBACK_JSON);
Assert.NotNull(result);
}
[Test]
public void Convert_FeedbackModel_To_Archetype_AndBack()
{
var result = ConvertModelToArchetypeAndBack(_feedback);
var result = ConvertModelToArchetypeAndBack(_feedbacks);
Assert.NotNull(result);
}
}
@@ -1,13 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Archetype.Umbraco.Serialization;
using Newtonsoft.Json;
namespace Archetype.Tests.Serialization.Enumerable
{
{
#region Feedback - a simple list based model
[AsArchetype("feedback")]
[JsonConverter(typeof(ArchetypeJsonConverter))]
public class Feedbacks : List<Feedback>
{
}
[AsArchetype("feedback")]
[JsonConverter(typeof(ArchetypeJsonConverter))]
public class Feedback
{
[JsonProperty("testimonial")]
public String Testimonial { get; set; }
}
#endregion
[AsArchetype("aboutUs")]
[JsonConverter(typeof(ArchetypeJsonConverter))]
public class AboutUs
@@ -19,13 +34,4 @@ namespace Archetype.Tests.Serialization.Enumerable
[JsonProperty("testimonials")]
public IEnumerable<String> Testimonials { get; set; }
}
[AsArchetype("feedback")]
[JsonConverter(typeof(ArchetypeJsonConverter))]
public class Feedback
{
[AsFieldset]
[JsonProperty("testimonials")]
public IEnumerable<String> Testimonials { get; set; }
}
}
@@ -207,40 +207,30 @@
@"{
""fieldsets"": [
{
""alias"": ""feedback"",
""properties"": [
{
""alias"": ""feedback"",
""value"": {
""fieldsets"": [
{
""alias"": ""testimonials"",
""properties"": [
{
""alias"": ""String"",
""value"": ""Testimonial 1""
}
]
},
{
""alias"": ""testimonials"",
""properties"": [
{
""alias"": ""String"",
""value"": ""Testimonial 2""
}
]
},
{
""alias"": ""testimonials"",
""properties"": [
{
""alias"": ""String"",
""value"": ""Testimonial 3""
}
]
}
]
}
}
""alias"": ""testimonial"",
""value"": ""Testimonial 1""
}
]
},
{
""alias"": ""feedback"",
""properties"": [
{
""alias"": ""testimonial"",
""value"": ""Testimonial 2""
}
]
},
{
""alias"": ""feedback"",
""properties"": [
{
""alias"": ""testimonial"",
""value"": ""Testimonial 3""
}
]
}
]