Things were working, suddenly regressed

This commit is contained in:
gamer147
2026-05-23 18:14:42 -04:00
parent 56d3cf0ec8
commit 66184b3685
31 changed files with 1493 additions and 97 deletions

View File

@@ -5,6 +5,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using SVSim.Database;
using SVSim.Database.Enums;
using SVSim.EmulatedEntrypoint.Extensions;
using SVSim.UnitTests.Infrastructure;
namespace SVSim.UnitTests.Controllers;
@@ -16,8 +17,12 @@ namespace SVSim.UnitTests.Controllers;
/// </summary>
public class DeckControllerTests
{
// ToApi() converts internal Format -> wire deck_format int (e.g. Format.Rotation -> 1).
// Tests MUST send wire values; the controller routes them back via FormatExtensions.FromApi.
// Inline `"deck_format":1` literals below correspond to Format.Rotation (the format the
// SeedDeckAsync fixtures use).
private static string DeckFormatRequestJson(Format f) =>
$$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_format":{{(int)f}}}""";
$$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_format":{{f.ToApi()}}}""";
private static StringContent JsonBody(string json) => new(json, Encoding.UTF8, "application/json");
@@ -145,7 +150,7 @@ public class DeckControllerTests
{"viewer_id":"0","steam_id":0,"steam_session_ticket":"",
"deck_no":1,"class_id":{{classId}},"leader_skin_id":{{leaderSkinId}},
"is_random_leader_skin":false,"sleeve_id":{{sleeveId}},"deck_name":"Fresh Deck",
"is_delete":0,"deck_format":0}
"is_delete":0,"deck_format":1}
""";
var response = await client.PostAsync("/deck/update", JsonBody(updateJson));
@@ -173,7 +178,7 @@ public class DeckControllerTests
{"viewer_id":"0","steam_id":0,"steam_session_ticket":"",
"deck_no":1,"class_id":{{classId}},"leader_skin_id":{{leaderSkinId}},
"is_random_leader_skin":false,"sleeve_id":{{sleeveId}},"deck_name":"Renamed",
"is_delete":0,"deck_format":0}
"is_delete":0,"deck_format":1}
""";
await client.PostAsync("/deck/update", JsonBody(updateJson));
@@ -197,7 +202,7 @@ public class DeckControllerTests
{"viewer_id":"0","steam_id":0,"steam_session_ticket":"",
"deck_no":1,"class_id":{{classId}},"leader_skin_id":{{leaderSkinId}},
"is_random_leader_skin":false,"sleeve_id":{{sleeveId}},"deck_name":null,
"is_delete":1,"deck_format":0}
"is_delete":1,"deck_format":1}
""";
var response = await client.PostAsync("/deck/update", JsonBody(deleteJson));
@@ -222,7 +227,7 @@ public class DeckControllerTests
{"viewer_id":"0","steam_id":0,"steam_session_ticket":"",
"deck_no":2,"class_id":{{classId}},"leader_skin_id":{{leaderSkinId}},
"is_random_leader_skin":false,"sleeve_id":{{sleeveId}},"deck_name":"Second",
"is_delete":0,"deck_format":0}
"is_delete":0,"deck_format":1}
""";
var response = await client.PostAsync("/deck/update", JsonBody(updateJson));
@@ -247,7 +252,7 @@ public class DeckControllerTests
await factory.SeedDeckAsync(viewerId, Format.Rotation, 1, name: "Old Name");
using var client = factory.CreateAuthenticatedClient(viewerId);
var json = """{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_name":"New Name","deck_format":0}""";
var json = """{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_name":"New Name","deck_format":1}""";
var response = await client.PostAsync("/deck/update_name", JsonBody(json));
var body = await response.Content.ReadAsStringAsync();
@@ -299,7 +304,7 @@ public class DeckControllerTests
}
using var client = factory.CreateAuthenticatedClient(viewerId);
var json = $$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"leader_skin_id":{{skinId}},"deck_format":0}""";
var json = $$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"leader_skin_id":{{skinId}},"deck_format":1}""";
var response = await client.PostAsync("/deck/update_leader_skin", JsonBody(json));
var body = await response.Content.ReadAsStringAsync();
@@ -325,7 +330,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
$$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_format":0,"leader_skin_id_list":[{{string.Join(',', pool)}}]}""";
$$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_format":1,"leader_skin_id_list":[{{string.Join(',', pool)}}]}""";
var response = await client.PostAsync("/deck/update_random_leader_skin", JsonBody(json));
var body = await response.Content.ReadAsStringAsync();
@@ -347,7 +352,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_format":0,"leader_skin_id_list":[]}""";
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_format":1,"leader_skin_id_list":[]}""";
var response = await client.PostAsync("/deck/update_random_leader_skin", JsonBody(json));
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
@@ -365,7 +370,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_order":[2,1],"deck_format":0}""";
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_order":[2,1],"deck_format":1}""";
var response = await client.PostAsync("/deck/update_order", JsonBody(json));
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));
@@ -382,7 +387,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no_list":[1,3],"deck_format":0}""";
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no_list":[1,3],"deck_format":1}""";
var response = await client.PostAsync("/deck/delete_deck_list", JsonBody(json));
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));