Support character unlinking and global campaign options
This commit is contained in:
@@ -71,6 +71,30 @@ public sealed class ServiceCampaignTests
|
||||
Assert.Equal(gmCampaign.Id, campaigns[0].Id);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetCharacterCampaignOptions_ReturnsAllCampaignsForCharacterAssignment()
|
||||
{
|
||||
using var harness = ServiceTestSupport.CreateHarness();
|
||||
var service = harness.Service;
|
||||
service.Register("gm1", "Password123", "GM One");
|
||||
service.Register("gm2", "Password123", "GM Two");
|
||||
service.Register("player", "Password123", "Player");
|
||||
var gmSession = ServiceTestSupport.GetValue(service.Login("gm1", "Password123")).SessionToken;
|
||||
var gmTwoSession = ServiceTestSupport.GetValue(service.Login("gm2", "Password123")).SessionToken;
|
||||
var playerSession = ServiceTestSupport.GetValue(service.Login("player", "Password123")).SessionToken;
|
||||
|
||||
var firstCampaign = ServiceTestSupport.GetValue(service.CreateCampaign(gmSession, "Alpha", "d6"));
|
||||
var secondCampaign = ServiceTestSupport.GetValue(service.CreateCampaign(gmTwoSession, "Beta", "d6"));
|
||||
|
||||
var visibleCampaigns = ServiceTestSupport.GetValue(service.GetCampaigns(playerSession));
|
||||
Assert.Empty(visibleCampaigns);
|
||||
|
||||
var options = ServiceTestSupport.GetValue(service.GetCharacterCampaignOptions(playerSession));
|
||||
Assert.Equal(2, options.Count);
|
||||
Assert.Contains(options, option => option.Id == firstCampaign.Id);
|
||||
Assert.Contains(options, option => option.Id == secondCampaign.Id);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetCampaign_ForNonGmParticipant_ReturnsCampaignCharactersAndSkills()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user