Need to fix index load issues

This commit is contained in:
gamer147
2026-05-23 14:50:16 -04:00
parent bf6ddf5428
commit 631e42289a
12 changed files with 351 additions and 119 deletions

View File

@@ -17,7 +17,7 @@ namespace SVSim.UnitTests.Controllers;
public class DeckControllerTests
{
private static string DeckFormatRequestJson(Format f) =>
$$"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckFormat":{{(int)f}}}""";
$$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_format":{{(int)f}}}""";
private static StringContent JsonBody(string json) => new(json, Encoding.UTF8, "application/json");
@@ -49,7 +49,7 @@ public class DeckControllerTests
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), body);
using var doc = JsonDocument.Parse(body);
var decks = doc.RootElement.GetProperty("userDeckList");
var decks = doc.RootElement.GetProperty("user_deck_list");
Assert.That(decks.GetArrayLength(), Is.EqualTo(2),
"Only Rotation-format decks should be returned for a Rotation request.");
var names = Enumerable.Range(0, decks.GetArrayLength())
@@ -72,7 +72,7 @@ public class DeckControllerTests
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), body);
using var doc = JsonDocument.Parse(body);
var decks = doc.RootElement.GetProperty("userDeckList");
var decks = doc.RootElement.GetProperty("user_deck_list");
Assert.That(decks.GetArrayLength(), Is.EqualTo(1));
Assert.That(decks[0].GetProperty("name").GetString(), Is.EqualTo("Unlimited Deck"));
}
@@ -90,7 +90,7 @@ public class DeckControllerTests
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), body);
using var doc = JsonDocument.Parse(body);
var decks = doc.RootElement.GetProperty("userDeckList");
var decks = doc.RootElement.GetProperty("user_deck_list");
Assert.That(decks.GetArrayLength(), Is.EqualTo(0));
}
@@ -108,7 +108,7 @@ public class DeckControllerTests
var body = await response.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(body);
Assert.That(doc.RootElement.GetProperty("emptyDeckNum").GetInt32(), Is.EqualTo(1));
Assert.That(doc.RootElement.GetProperty("empty_deck_num").GetInt32(), Is.EqualTo(1));
}
[Test]
@@ -127,7 +127,7 @@ public class DeckControllerTests
var body = await response.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(body);
Assert.That(doc.RootElement.GetProperty("emptyDeckNum").GetInt32(), Is.EqualTo(3),
Assert.That(doc.RootElement.GetProperty("empty_deck_num").GetInt32(), Is.EqualTo(3),
"Algorithm must return the smallest free slot, not just one past the highest used.");
}
@@ -142,10 +142,10 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var updateJson = $$"""
{"viewerId":"0","steamId":0,"steamSessionTicket":"",
"deckNo":1,"classId":{{classId}},"leaderSkinId":{{leaderSkinId}},
"isRandomLeaderSkin":false,"sleeveId":{{sleeveId}},"deckName":"Fresh Deck",
"isDelete":0,"deckFormat":0}
{"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}
""";
var response = await client.PostAsync("/deck/update", JsonBody(updateJson));
@@ -170,10 +170,10 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var updateJson = $$"""
{"viewerId":"0","steamId":0,"steamSessionTicket":"",
"deckNo":1,"classId":{{classId}},"leaderSkinId":{{leaderSkinId}},
"isRandomLeaderSkin":false,"sleeveId":{{sleeveId}},"deckName":"Renamed",
"isDelete":0,"deckFormat":0}
{"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}
""";
await client.PostAsync("/deck/update", JsonBody(updateJson));
@@ -194,10 +194,10 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var deleteJson = $$"""
{"viewerId":"0","steamId":0,"steamSessionTicket":"",
"deckNo":1,"classId":{{classId}},"leaderSkinId":{{leaderSkinId}},
"isRandomLeaderSkin":false,"sleeveId":{{sleeveId}},"deckName":null,
"isDelete":1,"deckFormat":0}
{"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}
""";
var response = await client.PostAsync("/deck/update", JsonBody(deleteJson));
@@ -219,16 +219,16 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var updateJson = $$"""
{"viewerId":"0","steamId":0,"steamSessionTicket":"",
"deckNo":2,"classId":{{classId}},"leaderSkinId":{{leaderSkinId}},
"isRandomLeaderSkin":false,"sleeveId":{{sleeveId}},"deckName":"Second",
"isDelete":0,"deckFormat":0}
{"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}
""";
var response = await client.PostAsync("/deck/update", JsonBody(updateJson));
var body = await response.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(body);
var decks = doc.RootElement.GetProperty("userDeckList");
var decks = doc.RootElement.GetProperty("user_deck_list");
Assert.That(decks.GetArrayLength(), Is.EqualTo(2),
"/deck/update should hand back the full refreshed list, saving the client a follow-up.");
var names = Enumerable.Range(0, decks.GetArrayLength())
@@ -247,12 +247,12 @@ public class DeckControllerTests
await factory.SeedDeckAsync(viewerId, Format.Rotation, 1, name: "Old Name");
using var client = factory.CreateAuthenticatedClient(viewerId);
var json = """{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNo":1,"deckName":"New Name","deckFormat":0}""";
var json = """{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_name":"New Name","deck_format":0}""";
var response = await client.PostAsync("/deck/update_name", JsonBody(json));
var body = await response.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(body);
Assert.That(doc.RootElement.GetProperty("userDeck").GetProperty("name").GetString(),
Assert.That(doc.RootElement.GetProperty("user_deck").GetProperty("name").GetString(),
Is.EqualTo("New Name"));
using var scope = factory.Services.CreateScope();
@@ -276,12 +276,12 @@ public class DeckControllerTests
}
using var client = factory.CreateAuthenticatedClient(viewerId);
var json = $$"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNo":1,"sleeveId":{{sleeveId}},"deckFormat":0}""";
var json = $$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deckNo":1,"sleeve_id":{{sleeveId}},"deckFormat":0}""";
var response = await client.PostAsync("/deck/update_sleeve", JsonBody(json));
var body = await response.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(body);
Assert.That(doc.RootElement.GetProperty("userDeck").GetProperty("sleeveId").GetInt32(),
Assert.That(doc.RootElement.GetProperty("user_deck").GetProperty("sleeve_id").GetInt32(),
Is.EqualTo(sleeveId));
}
@@ -299,14 +299,14 @@ public class DeckControllerTests
}
using var client = factory.CreateAuthenticatedClient(viewerId);
var json = $$"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNo":1,"leaderSkinId":{{skinId}},"deckFormat":0}""";
var json = $$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"leader_skin_id":{{skinId}},"deck_format":0}""";
var response = await client.PostAsync("/deck/update_leader_skin", JsonBody(json));
var body = await response.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(body);
var userDeck = doc.RootElement.GetProperty("userDeck");
Assert.That(userDeck.GetProperty("leaderSkinId").GetInt32(), Is.EqualTo(skinId));
Assert.That(userDeck.GetProperty("isRandomLeaderSkin").GetInt32(), Is.EqualTo(0),
var userDeck = doc.RootElement.GetProperty("user_deck");
Assert.That(userDeck.GetProperty("leader_skin_id").GetInt32(), Is.EqualTo(skinId));
Assert.That(userDeck.GetProperty("is_random_leader_skin").GetInt32(), Is.EqualTo(0),
"Selecting a specific leader skin clears the random-skin flag.");
}
@@ -325,17 +325,17 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
$$"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNo":1,"deckFormat":0,"leaderSkinIdList":[{{string.Join(',', pool)}}]}""";
$$"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_format":0,"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();
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), body);
using var doc = JsonDocument.Parse(body);
var userDeck = doc.RootElement.GetProperty("userDeck");
Assert.That(pool, Contains.Item(userDeck.GetProperty("leaderSkinId").GetInt32()),
var userDeck = doc.RootElement.GetProperty("user_deck");
Assert.That(pool, Contains.Item(userDeck.GetProperty("leader_skin_id").GetInt32()),
"Chosen skin must come from the supplied pool.");
Assert.That(userDeck.GetProperty("isRandomLeaderSkin").GetInt32(), Is.EqualTo(1));
Assert.That(userDeck.GetProperty("is_random_leader_skin").GetInt32(), Is.EqualTo(1));
}
[Test]
@@ -347,7 +347,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNo":1,"deckFormat":0,"leaderSkinIdList":[]}""";
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"deck_format":0,"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 +365,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckOrder":[2,1],"deckFormat":0}""";
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_order":[2,1],"deck_format":0}""";
var response = await client.PostAsync("/deck/update_order", JsonBody(json));
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));
@@ -382,7 +382,7 @@ public class DeckControllerTests
using var client = factory.CreateAuthenticatedClient(viewerId);
var json =
"""{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNoList":[1,3],"deckFormat":0}""";
"""{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no_list":[1,3],"deck_format":0}""";
var response = await client.PostAsync("/deck/delete_deck_list", JsonBody(json));
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));
@@ -401,7 +401,7 @@ public class DeckControllerTests
long viewerId = await factory.SeedViewerAsync();
using var client = factory.CreateAuthenticatedClient(viewerId);
var json = """{"viewerId":"0","steamId":0,"steamSessionTicket":"","deckNo":1,"classId":1}""";
var json = """{"viewer_id":"0","steam_id":0,"steam_session_ticket":"","deck_no":1,"class_id":1}""";
var response = await client.PostAsync("/deck/set_deck_redis", JsonBody(json));
Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));