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.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