test(item-acquire-history): literal wire-shape round-trip
This commit is contained in:
46
SVSim.UnitTests/Wire/ItemAcquireHistoryWireShape.cs
Normal file
46
SVSim.UnitTests/Wire/ItemAcquireHistoryWireShape.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using System.Text.Json;
|
||||
using SVSim.EmulatedEntrypoint.Models.Dtos.ItemAcquireHistory;
|
||||
|
||||
namespace SVSim.UnitTests.Wire;
|
||||
|
||||
public class ItemAcquireHistoryWireShape
|
||||
{
|
||||
[Test]
|
||||
public void Response_serialization_matches_prod_capture_keys()
|
||||
{
|
||||
var response = new ItemAcquireHistoryInfoResponse
|
||||
{
|
||||
Histories =
|
||||
{
|
||||
new ItemAcquireHistoryEntryDto
|
||||
{
|
||||
RewardType = "9",
|
||||
RewardDetailId = "0",
|
||||
RewardCount = "20",
|
||||
AcquireType = "1",
|
||||
AcquireTime = "2026-06-09 16:59:44",
|
||||
Message = "Daily Bonus: Day 2",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var options = new JsonSerializerOptions
|
||||
{
|
||||
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
|
||||
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull,
|
||||
};
|
||||
var json = JsonSerializer.Serialize(response, options);
|
||||
|
||||
// Prod capture line ~93 (formatted for diff legibility):
|
||||
var expected = "{\"histories\":[{" +
|
||||
"\"reward_type\":\"9\"," +
|
||||
"\"reward_detail_id\":\"0\"," +
|
||||
"\"reward_count\":\"20\"," +
|
||||
"\"acquire_type\":\"1\"," +
|
||||
"\"acquire_time\":\"2026-06-09 16:59:44\"," +
|
||||
"\"message\":\"Daily Bonus: Day 2\"" +
|
||||
"}]}";
|
||||
|
||||
Assert.That(json, Is.EqualTo(expected));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user