|
|
@@ -125,6 +125,22 @@ namespace Microsoft.AspNetCore.JsonPatch
|
|
|
Assert.Equal("Foo", model.CustomData["Name"].Value<string>());
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void ApplyTo_Model_Add_Null()
|
|
|
+ {
|
|
|
+ // Arrange
|
|
|
+ var model = new ObjectWithJObject();
|
|
|
+ var patch = new JsonPatchDocument<ObjectWithJObject>();
|
|
|
+
|
|
|
+ patch.Operations.Add(new Operation<ObjectWithJObject>("add", "/CustomData/Name", null, null));
|
|
|
+
|
|
|
+ // Act
|
|
|
+ patch.ApplyTo(model);
|
|
|
+
|
|
|
+ // Assert
|
|
|
+ Assert.Equal(JTokenType.Null, model.CustomData["Name"].Type);
|
|
|
+ }
|
|
|
+
|
|
|
[Fact]
|
|
|
public void ApplyTo_Model_Replace()
|
|
|
{
|
|
|
@@ -140,5 +156,21 @@ namespace Microsoft.AspNetCore.JsonPatch
|
|
|
// Assert
|
|
|
Assert.Equal("[email protected]", model.CustomData["Email"].Value<string>());
|
|
|
}
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void ApplyTo_Model_Replace_Null()
|
|
|
+ {
|
|
|
+ // Arrange
|
|
|
+ var model = new ObjectWithJObject { CustomData = JObject.FromObject(new { Email = "[email protected]", Name = "Bar" }) };
|
|
|
+ var patch = new JsonPatchDocument<ObjectWithJObject>();
|
|
|
+
|
|
|
+ patch.Operations.Add(new Operation<ObjectWithJObject>("replace", "/CustomData/Email", null, null));
|
|
|
+
|
|
|
+ // Act
|
|
|
+ patch.ApplyTo(model);
|
|
|
+
|
|
|
+ // Assert
|
|
|
+ Assert.Equal(JTokenType.Null, model.CustomData["Email"].Type);
|
|
|
+ }
|
|
|
}
|
|
|
}
|