public void Can_Deserialize_Custom_ProblemDetails() { // given var problem = New.ProblemDetails.CustomProblemDetails(); var json = JsonProblemDetailsConverter.Serialize(problem); // when var actual = JsonProblemDetailsConverter.Deserialize <CustomProblemDetails>(json); // then actual.Should().BeEquivalentTo(problem); }
public void Can_Deserialize_ProblemDetails_With_Extensions() { // given var problem = New.ProblemDetails.ProblemDetailsWithExtensions(); var json = JsonProblemDetailsConverter.Serialize(problem); // when var actual = JsonProblemDetailsConverter.Deserialize(json); // then actual.Should().BeEquivalentTo(problem); }
public void Can_Deserialize_ProblemDetails_With_Nested_Extensions() { // given var problem = New.ProblemDetails.ProblemDetailsWithExtensions(); var json = $"{{\"type\":\"{problem.Type}\",\"title\":\"{problem.Title}\",\"status\":{problem.Status}" + $",\"detail\":\"{problem.Detail}\",\"intField\":{problem.Extensions["intField"]}" + $",\"extensions\":{{\"stringField\":\"{problem.Extensions["stringField"]}\"}}}}"; // when var actual = JsonProblemDetailsConverter.Deserialize <MvcProblemDetails>(json); // then actual.Should().BeEquivalentTo(problem); }
public void Cannot_Fully_Deserialize_Custom_ProblemDetails_With_Extensions() { // given var problem = New.ProblemDetails.CustomProblemDetailsWithExtensions(); var json = JsonProblemDetailsConverter.Serialize(problem); // when var actual = JsonProblemDetailsConverter.Deserialize <CustomProblemDetails>(json); // then var expected = new CustomProblemDetails { IntField = problem.IntField, StringField = problem.StringField }; problem.CopyStandardFieldsTo(expected); actual.Should().BeEquivalentTo(expected); }
public void Can_Deserialize_ProblemDetails_With_Extensions_To_CustomProblemDetails() { // given var problem = New.ProblemDetails.ProblemDetailsWithExtensions(); var json = JsonProblemDetailsConverter.Serialize(problem); // when var actual = JsonProblemDetailsConverter.Deserialize <CustomProblemDetails>(json); // then var expected = new CustomProblemDetails { IntField = (int)problem.Extensions["intField"], StringField = (string)problem.Extensions["stringField"] }; problem.CopyStandardFieldsTo(expected); actual.Should().BeEquivalentTo(expected); }