This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
using System.Collections.Immutable;
|
||||
|
||||
namespace Railway.Tests.Errors;
|
||||
|
||||
public class Serialization
|
||||
@@ -8,9 +10,8 @@ public class Serialization
|
||||
// Given
|
||||
Error many_errors = new ManyErrors(new Error[]{
|
||||
new ExpectedError("err1", "msg1"){
|
||||
ExtensionData = {
|
||||
["ext"] = "ext_value"
|
||||
}
|
||||
ExtensionData = ImmutableDictionary<string, string>.Empty
|
||||
.Add("ext", "ext_value"),
|
||||
},
|
||||
new ExceptionalError(new Exception("msg2")),
|
||||
});
|
||||
@@ -18,7 +19,7 @@ public class Serialization
|
||||
var result = JsonSerializer.Serialize(many_errors);
|
||||
// Then
|
||||
Assert.Equal(
|
||||
expected: "[{\"$$err\":0,\"Type\":\"err1\",\"Message\":\"msg1\",\"ext\":\"ext_value\"},{\"$$err\":1,\"Type\":\"Exception\",\"Message\":\"msg2\"}]",
|
||||
expected: "[{\"$$err\":0,\"Type\":\"err1\",\"Message\":\"msg1\",\"ExtensionData\":{\"ext\":\"ext_value\"}},{\"$$err\":1,\"Type\":\"Exception\",\"Message\":\"msg2\"}]",
|
||||
result);
|
||||
}
|
||||
|
||||
@@ -26,7 +27,7 @@ public class Serialization
|
||||
public void WhenDeserializingManyErrors()
|
||||
{
|
||||
// Given
|
||||
var json = "[{\"$$err\":0,\"Type\":\"err1\",\"Message\":\"msg1\",\"ext\":\"ext_value\"},{\"$$err\":1,\"Type\":\"Exception\",\"Message\":\"msg2\"}]";
|
||||
var json = "[{\"$$err\":0,\"Type\":\"err1\",\"Message\":\"msg1\",\"ExtensionData\":{\"ext1\":\"ext_value1\",\"ext2\":\"ext_value2\"}},{\"$$err\":1,\"Type\":\"Exception\",\"Message\":\"msg2\"}]";
|
||||
// When
|
||||
var result = JsonSerializer.Deserialize<Error[]>(json);
|
||||
// Then
|
||||
@@ -39,7 +40,10 @@ public class Serialization
|
||||
result
|
||||
);
|
||||
Assert.Equal(
|
||||
expected: "ext_value",
|
||||
result[0].ExtensionData["ext"].ToString());
|
||||
expected: "ext_value1",
|
||||
result[0]["ext1"]);
|
||||
Assert.Equal(
|
||||
expected: "ext_value2",
|
||||
result[0]["ext2"]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user