test: extend SessionBatchViewBuilderTests with edge cases

- Empty sessions
- Confirmed status
- Null MaxPlayers

Issue: #33
This commit is contained in:
2026-05-21 15:11:01 +03:00
parent dd9eab2e4a
commit b4a39c027f
@@ -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);
}
}