Allow GM play roster access
This commit is contained in:
@@ -41,7 +41,7 @@ public sealed class WorkspaceStateTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PlaySelections_FilterToOwnedCharactersAndPreferSelectedThenActive()
|
||||
public void PlaySelections_ForNonGm_FilterToOwnedCharactersAndPreferSelectedThenActive()
|
||||
{
|
||||
var userId = Guid.NewGuid();
|
||||
var ownedCharacter = new CharacterSummary(Guid.NewGuid(), "Owned", userId, Guid.NewGuid(), "User");
|
||||
@@ -70,6 +70,25 @@ public sealed class WorkspaceStateTests
|
||||
Assert.Equal(ownedCharacter.Id, state.PlaySelectedCharacterId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PlaySelections_ForGm_ExposeEntireCampaignAndKeepNonOwnedSelection()
|
||||
{
|
||||
var gmId = Guid.NewGuid();
|
||||
var otherCharacter = new CharacterSummary(Guid.NewGuid(), "Other", Guid.NewGuid(), Guid.NewGuid(), "Other");
|
||||
var ownedCharacter = new CharacterSummary(Guid.NewGuid(), "Owned", gmId, Guid.NewGuid(), "GM");
|
||||
var state = new WorkspaceState
|
||||
{
|
||||
User = new(gmId, "gm", "GM", []),
|
||||
SelectedCampaign = new(Guid.NewGuid(), "Alpha", "d6", new(gmId, "GM"),
|
||||
[ownedCharacter, otherCharacter]),
|
||||
SelectedCharacterId = otherCharacter.Id
|
||||
};
|
||||
|
||||
Assert.Equal(2, state.PlaySelectedCampaign!.Characters.Length);
|
||||
Assert.Equal(otherCharacter.Id, state.PlaySelectedCharacterId);
|
||||
Assert.Equal(otherCharacter.Id, state.PlaySelectedCharacter!.Id);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CampaignAndConnectionFlags_ReflectCurrentState()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user