Issue #AR-3_IEnumerable_support: fix json for simple list model - simple list model passes
This commit is contained in:
@@ -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""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user