Add admin roles, user management, and campaign deletion
This commit is contained in:
@@ -82,6 +82,9 @@ public sealed class HostingCoverageTests
|
||||
"Breakdown" TEXT NOT NULL,
|
||||
"TimestampUtc" TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO "Users" ("Id", "Username", "UsernameNormalized", "PasswordHash", "DisplayName", "ActiveCharacterId")
|
||||
VALUES ('00000000-0000-0000-0000-000000000001', 'legacy-admin', 'LEGACY-ADMIN', 'hash', 'Legacy Admin', NULL);
|
||||
""";
|
||||
_ = command.ExecuteNonQuery();
|
||||
}
|
||||
@@ -115,6 +118,35 @@ public sealed class HostingCoverageTests
|
||||
|
||||
Assert.Contains("Dice", rollColumns);
|
||||
|
||||
using var usersTableInfoCommand = verifyConnection.CreateCommand();
|
||||
usersTableInfoCommand.CommandText = "PRAGMA table_info('Users');";
|
||||
using var usersTableInfoReader = usersTableInfoCommand.ExecuteReader();
|
||||
var usersColumns = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
|
||||
while (usersTableInfoReader.Read())
|
||||
usersColumns.Add(usersTableInfoReader.GetString(1));
|
||||
|
||||
Assert.Contains("Roles", usersColumns);
|
||||
|
||||
using var usersRoleCommand = verifyConnection.CreateCommand();
|
||||
usersRoleCommand.CommandText = "SELECT Roles FROM Users WHERE UsernameNormalized = 'LEGACY-ADMIN';";
|
||||
var roles = Convert.ToString(usersRoleCommand.ExecuteScalar());
|
||||
Assert.Equal("admin", roles);
|
||||
|
||||
using var charactersTableInfoCommand = verifyConnection.CreateCommand();
|
||||
charactersTableInfoCommand.CommandText = "PRAGMA table_info('Characters');";
|
||||
using var charactersTableInfoReader = charactersTableInfoCommand.ExecuteReader();
|
||||
var campaignIdNotNull = true;
|
||||
while (charactersTableInfoReader.Read())
|
||||
{
|
||||
if (!string.Equals(charactersTableInfoReader.GetString(1), "CampaignId", StringComparison.OrdinalIgnoreCase))
|
||||
continue;
|
||||
|
||||
campaignIdNotNull = charactersTableInfoReader.GetInt32(3) == 1;
|
||||
break;
|
||||
}
|
||||
|
||||
Assert.False(campaignIdNotNull);
|
||||
|
||||
using var historyCommand = verifyConnection.CreateCommand();
|
||||
historyCommand.CommandText = "SELECT COUNT(*) FROM \"__EFMigrationsHistory\" WHERE \"MigrationId\" = '20260226084000_InitialSchema';";
|
||||
var historyCount = Convert.ToInt32(historyCommand.ExecuteScalar());
|
||||
@@ -129,5 +161,10 @@ public sealed class HostingCoverageTests
|
||||
rollDiceHistoryCommand.CommandText = "SELECT COUNT(*) FROM \"__EFMigrationsHistory\" WHERE \"MigrationId\" = '20260226100000_AddRollLogDice';";
|
||||
var rollDiceHistoryCount = Convert.ToInt32(rollDiceHistoryCommand.ExecuteScalar());
|
||||
Assert.Equal(1, rollDiceHistoryCount);
|
||||
|
||||
using var rolesHistoryCommand = verifyConnection.CreateCommand();
|
||||
rolesHistoryCommand.CommandText = "SELECT COUNT(*) FROM \"__EFMigrationsHistory\" WHERE \"MigrationId\" = '20260226160859_AddAuthorizationRolesAndCampaignDeletion';";
|
||||
var rolesHistoryCount = Convert.ToInt32(rolesHistoryCommand.ExecuteScalar());
|
||||
Assert.Equal(1, rolesHistoryCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user