24 lines
948 B
Python
24 lines
948 B
Python
from lobby_widget import LobbyWidget
|
|
|
|
|
|
def test_session_selection_uses_existing_join_flow(qtbot):
|
|
lobby = LobbyWidget()
|
|
qtbot.addWidget(lobby)
|
|
assert lobby.listed_checkbox.isChecked()
|
|
rooms = [{"code": "ABC123", "fileInfo": {"name": "movie.mkv"},
|
|
"users": ["Host"], "playing": True, "position": 75}]
|
|
lobby.update_sessions(rooms)
|
|
lobby.sessions_list.setCurrentRow(0)
|
|
assert not lobby.session_join_btn.isEnabled()
|
|
lobby.username_input.setText("Alex")
|
|
assert lobby.session_join_btn.isEnabled()
|
|
with qtbot.waitSignal(lobby.join_requested) as signal:
|
|
lobby.join_selected_session()
|
|
assert signal.args == ["Alex", "ABC123"]
|
|
lobby.reset_ui()
|
|
lobby.update_sessions(rooms)
|
|
assert lobby.sessions_list.currentItem().data(256) == "ABC123"
|
|
lobby.update_sessions([])
|
|
assert not lobby.session_join_btn.isEnabled()
|
|
assert "No active sessions" in lobby.sessions_status.text()
|