test: extend TelegramSessionBatchRendererTests with regression cases

- Empty sessions
- HTML encoding in title
- Confirmed status buttons
- No join link handling

Issue: #33
This commit is contained in:
2026-05-21 15:13:50 +03:00
parent b4a39c027f
commit 47b22c7401
2 changed files with 78 additions and 2 deletions
@@ -114,7 +114,7 @@ public sealed class SessionBatchViewBuilderTests
[Fact]
public void Build_ShouldHandleEmptySessions()
{
var result = SessionBatchViewBuilder.Build("Empty", [], []);
var result = SessionBatchViewBuilder.Build("Empty", Array.Empty<SessionBatchDto>(), Array.Empty<ParticipantBatchDto>());
Assert.Equal("Empty", result.Title);
Assert.Empty(result.Sessions);
}
@@ -130,6 +130,10 @@ public sealed class SessionBatchViewBuilderTests
Assert.Equal(SessionStatus.Confirmed, result.Sessions[0].Status);
Assert.Equal(2, result.Sessions[0].AvailableActions.Count);
Assert.Equal("join_session", result.Sessions[0].AvailableActions[0].ActionKey);
Assert.Equal("leave_session", result.Sessions[0].AvailableActions[1].ActionKey);
Assert.Equal(sessionId, result.Sessions[0].AvailableActions[0].SessionId);
Assert.Equal(sessionId, result.Sessions[0].AvailableActions[1].SessionId);
}
[Fact]
@@ -142,6 +146,7 @@ public sealed class SessionBatchViewBuilderTests
var result = SessionBatchViewBuilder.Build("Test", sessions, participants);
Assert.Null(result.Sessions[0].MaxPlayers);
Assert.Equal(0, result.Sessions[0].ActivePlayerCount);
var joinAction = result.Sessions[0].AvailableActions.First(a => a.ActionKey == "join_session");
Assert.DoesNotContain("ожидания", joinAction.Label);
}
}