Files
SVSimServer/SVSim.UnitTests/Wire/ItemAcquireHistoryWireShape.cs

47 lines
1.5 KiB
C#

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));
}
}