test: extend SessionBatchViewBuilderTests with edge cases
- Empty sessions - Confirmed status - Null MaxPlayers Issue: #33
This commit is contained in:
@@ -110,4 +110,38 @@ public sealed class SessionBatchViewBuilderTests
|
|||||||
Assert.Equal("Alice", player.DisplayName);
|
Assert.Equal("Alice", player.DisplayName);
|
||||||
Assert.Equal("alice", player.TelegramUsername);
|
Assert.Equal("alice", player.TelegramUsername);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Build_ShouldHandleEmptySessions()
|
||||||
|
{
|
||||||
|
var result = SessionBatchViewBuilder.Build("Empty", [], []);
|
||||||
|
Assert.Equal("Empty", result.Title);
|
||||||
|
Assert.Empty(result.Sessions);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Build_ShouldHandleConfirmedStatus()
|
||||||
|
{
|
||||||
|
var sessionId = Guid.NewGuid();
|
||||||
|
var sessions = new[] { new SessionBatchDto(sessionId, DateTime.UtcNow, SessionStatus.Confirmed, 4, "https://example.com/game") };
|
||||||
|
var participants = Array.Empty<ParticipantBatchDto>();
|
||||||
|
|
||||||
|
var result = SessionBatchViewBuilder.Build("Test", sessions, participants);
|
||||||
|
|
||||||
|
Assert.Equal(SessionStatus.Confirmed, result.Sessions[0].Status);
|
||||||
|
Assert.Equal(2, result.Sessions[0].AvailableActions.Count);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Build_ShouldHandleNullMaxPlayers()
|
||||||
|
{
|
||||||
|
var sessionId = Guid.NewGuid();
|
||||||
|
var sessions = new[] { new SessionBatchDto(sessionId, DateTime.UtcNow, SessionStatus.Planned, null, "https://example.com/game") };
|
||||||
|
var participants = Array.Empty<ParticipantBatchDto>();
|
||||||
|
|
||||||
|
var result = SessionBatchViewBuilder.Build("Test", sessions, participants);
|
||||||
|
|
||||||
|
Assert.Null(result.Sessions[0].MaxPlayers);
|
||||||
|
Assert.Equal(0, result.Sessions[0].ActivePlayerCount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user