Reorganize tests by API and service concerns

This commit is contained in:
2026-02-24 23:46:47 +01:00
parent 885121723d
commit 50f56fdab7
20 changed files with 897 additions and 799 deletions

View File

@@ -0,0 +1,33 @@
using Microsoft.AspNetCore.Mvc.Testing;
namespace RpgRoller.Tests;
public sealed class SystemApiTests : ApiTestBase
{
public SystemApiTests(WebApplicationFactory<Program> factory)
: base(factory)
{
}
[Fact]
public async Task RulesetAndSseEndpoints_ReturnExpectedResponses()
{
using var factory = CreateFactory(2, 2, 2);
using var client = factory.CreateClient(new WebApplicationFactoryClientOptions { AllowAutoRedirect = false });
var rulesets = await GetAsync<IReadOnlyList<RulesetDefinition>>(client, "/api/rulesets");
Assert.Equal(2, rulesets.Count);
await RegisterAsync(client, "sse", "Password123", "Sse User");
await LoginAsync(client, "sse", "Password123");
var campaign = await PostAsync<CreateCampaignRequest, CampaignSummary>(
client,
"/api/campaigns",
new CreateCampaignRequest("SSE", "d6"));
var sseResponse = await client.GetAsync($"/api/events/state?campaignId={campaign.Id}", HttpCompletionOption.ResponseHeadersRead);
Assert.Equal(HttpStatusCode.OK, sseResponse.StatusCode);
Assert.Equal("text/event-stream", sseResponse.Content.Headers.ContentType?.MediaType);
}
}