error tests expansion
.NET Test / .NET tests (push) Failing after 2m5s

This commit is contained in:
2026-07-12 18:06:53 +04:00
parent 2dbfd781ec
commit e8ae93799e
23 changed files with 1190 additions and 156 deletions
+20 -33
View File
@@ -1,4 +1,4 @@
namespace Railway.Tests.Errors;
namespace Raliway.Tests.Errors;
public class Serialization
{
@@ -8,18 +8,17 @@ public class Serialization
// Given
Error many_errors = new ManyErrors(
[
Error.New("err1", "msg1", new KeyValuePair<string, string>[]
{
Error.New("err1", "msg1",
[
new("ext", "ext_value"),
}),
]),
Error.New(new Exception("msg2")),
]);
// When
var result = JsonSerializer.Serialize(many_errors);
// Then
Assert.Equal(
expected: "[{\"type\":\"err1\",\"msg\":\"msg1\",\"ext\":\"ext_value\"},{\"type\":\"System.Exception\",\"msg\":\"msg2\"}]",
result);
result.ShouldBe(
"[{\"type\":\"err1\",\"msg\":\"msg1\",\"ext\":\"ext_value\"},{\"type\":\"System.Exception\",\"msg\":\"msg2\"}]");
}
[Fact]
@@ -30,23 +29,17 @@ public class Serialization
// When
var result = JsonSerializer.Deserialize<Error>(json);
// Then
Assert.IsType<ManyErrors>(result);
result.ShouldBeOfType<ManyErrors>();
ManyErrors manyErrors = (ManyErrors)result;
Assert.True(manyErrors.Count == 2);
Assert.Equal(
expected: Error.Many(
manyErrors.Count.ShouldBe(2);
manyErrors.ShouldBe(
Error.Many(
Error.New("err1", "msg1"),
Error.New(new Exception("msg2"))
).ToEnumerable(),
manyErrors
);
Assert.Equal(
expected: "ext_value1",
manyErrors[0]["ext1"]);
Assert.Equal(
expected: "ext_value2",
manyErrors[0]["ext2"]);
).ToEnumerable());
manyErrors[0]["ext1"].ShouldBe("ext_value1");
manyErrors[0]["ext2"].ShouldBe("ext_value2");
}
[Fact]
@@ -57,20 +50,14 @@ public class Serialization
// When
var result = JsonSerializer.Deserialize<ManyErrors>(json);
// Then
Assert.NotNull(result);
Assert.True(result.Count == 2);
Assert.Equal(
expected: Error.Many(
result.ShouldNotBeNull();
result.Count.ShouldBe(2);
result.ShouldBe(
Error.Many(
Error.New("err1", "msg1"),
Error.New(new Exception("msg2"))
).ToEnumerable(),
result
);
Assert.Equal(
expected: "ext_value1",
result[0]["ext1"]);
Assert.Equal(
expected: "ext_value2",
result[0]["ext2"]);
).ToEnumerable());
result[0]["ext1"].ShouldBe("ext_value1");
result[0]["ext2"].ShouldBe("ext_value2");
}
}