public void UmbracoMapper_MapFromDictionaryToCollection_MapsAdditionalItemsWhenRequestedToDoSo() { // Arrange var model = new SimpleViewModelWithCollection { Id = 1, Name = "Test name", Comments = new List<Comment> { new Comment { Id = 1, }, } }; var dictionary = GetDictionaryForCommentsCollection(); var mapper = GetMapper(); // Act mapper.MapCollection(dictionary, model.Comments, null, true); // Assert Assert.AreEqual(2, model.Comments.Count); Assert.AreEqual("Fred Bloggs", model.Comments[0].Name); Assert.AreEqual(2, model.Comments[1].Id); Assert.AreEqual("Sally Smith", model.Comments[1].Name); }
public void UmbracoMapper_MapFromDictionaryToCollection_DoesntMapNonExistingItemsUnlessRequestedToDoSo() { // Arrange var model = new SimpleViewModelWithCollection { Id = 1, Name = "Test name", Comments = new List<Comment> { new Comment { Id = 1, }, } }; var dictionary = GetDictionaryForCommentsCollection(); var mapper = GetMapper(); // Act mapper.MapCollection(dictionary, model.Comments, null, false); // Assert Assert.AreEqual(1, model.Comments.Count); Assert.AreEqual("Fred Bloggs", model.Comments[0].Name); }
public void UmbracoMapper_MapFromJsonToCollection_MapsPropertiesWithCustomRootElementName() { // Arrange var model = new SimpleViewModelWithCollection { Id = 1, Name = "Test name", Comments = new List<Comment> { new Comment { Id = 1, }, new Comment { Id = 2, } } }; var json = GetJsonForCommentsCollection4(); var mapper = GetMapper(); // Act mapper.MapCollection(json, model.Comments, null, "entries"); // Assert Assert.AreEqual(2, model.Comments.Count); Assert.AreEqual("Fred Bloggs", model.Comments[0].Name); Assert.AreEqual("Fred's comment", model.Comments[0].Text); Assert.AreEqual("Sally's comment", model.Comments[1].Text); Assert.AreEqual("13-Apr-2013 10:30", model.Comments[1].CreatedOn.ToString("dd-MMM-yyyy HH:mm")); }
public void UmbracoMapper_MapFromJsonToCollection_MapsWithDifferentLookUpPropertyNames() { // Arrange var model = new SimpleViewModelWithCollection { Id = 1, Name = "Test name", Comments = new List<Comment> { new Comment { Id = 1, }, new Comment { Id = 2, }, } }; var json = GetJsonForCommentsCollection3(); var mapper = GetMapper(); // Act mapper.MapCollection(json, model.Comments, null, "items", false, "Identifier", "Id"); // Assert Assert.AreEqual(2, model.Comments.Count); Assert.AreEqual("Fred Bloggs", model.Comments[0].Name); Assert.AreEqual("Fred's comment", model.Comments[0].Text); Assert.AreEqual("Sally's comment", model.Comments[1].Text); Assert.AreEqual("13-Apr-2013 10:30", model.Comments[1].CreatedOn.ToString("dd-MMM-yyyy HH:mm")); }
public void UmbracoMapper_MapFromJsonToCollection_MapsPropertiesForExistingEntriesWithDifferentNames() { // Arrange var model = new SimpleViewModelWithCollection { Id = 1, Name = "Test name", Comments = new List<Comment> { new Comment { Id = 1, }, new Comment { Id = 2, } } }; var json = GetJsonForCommentsCollection2(); var mapper = GetMapper(); // Act mapper.MapCollection(json, model.Comments, new Dictionary<string, PropertyMapping> { { "CreatedOn", new PropertyMapping { SourceProperty = "RecordedOn" } } }); // Assert Assert.AreEqual(2, model.Comments.Count); Assert.AreEqual("Fred Bloggs", model.Comments[0].Name); Assert.AreEqual("Fred's comment", model.Comments[0].Text); Assert.AreEqual("Sally's comment", model.Comments[1].Text); Assert.AreEqual("13-Apr-2013 10:30", model.Comments[1].CreatedOn.ToString("dd-MMM-yyyy HH:mm")); }
public void UmbracoMapper_MapFromDictionaryToCollection_MapsPropertiesForExistingEntriesWithMatchingNames() { // Arrange var model = new SimpleViewModelWithCollection { Id = 1, Name = "Test name", Comments = new List<Comment> { new Comment { Id = 1, }, new Comment { Id = 2, } } }; var dictionary = GetDictionaryForCommentsCollection(); var mapper = GetMapper(); // Act mapper.MapCollection(dictionary, model.Comments); // Assert Assert.AreEqual(2, model.Comments.Count); Assert.AreEqual("Fred Bloggs", model.Comments[0].Name); Assert.AreEqual("Fred's comment", model.Comments[0].Text); Assert.AreEqual("Sally's comment", model.Comments[1].Text); Assert.AreEqual("13-Apr-2013 10:30", model.Comments[1].CreatedOn.ToString("dd-MMM-yyyy HH:mm")); }