47 lines
1.5 KiB
C#
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));
|
|
}
|
|
}
|