Redesign desktop lobby as a workspace
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from lobby_widget import LobbyWidget
|
||||
from PyQt6.QtCore import Qt
|
||||
|
||||
|
||||
def test_session_selection_uses_existing_join_flow(qtbot):
|
||||
@@ -21,3 +22,31 @@ def test_session_selection_uses_existing_join_flow(qtbot):
|
||||
lobby.update_sessions([])
|
||||
assert not lobby.session_join_btn.isEnabled()
|
||||
assert "No active sessions" in lobby.sessions_status.text()
|
||||
|
||||
|
||||
def test_workspace_dialogs_and_connection_lock(qtbot, tmp_path):
|
||||
lobby = LobbyWidget()
|
||||
qtbot.addWidget(lobby)
|
||||
lobby.show()
|
||||
assert not lobby.create_action_btn.isEnabled()
|
||||
lobby.username_input.setText("Alex")
|
||||
qtbot.mouseClick(lobby.create_action_btn, Qt.MouseButton.LeftButton)
|
||||
assert lobby.create_dialog.isVisible()
|
||||
assert not lobby.create_room_btn.isEnabled()
|
||||
video = tmp_path / "movie.mkv"
|
||||
video.write_bytes(b"local video")
|
||||
lobby._set_local_file(str(video))
|
||||
lobby.listed_checkbox.setChecked(False)
|
||||
with qtbot.waitSignal(lobby.create_requested) as signal:
|
||||
qtbot.mouseClick(lobby.create_room_btn, Qt.MouseButton.LeftButton)
|
||||
assert signal.args == ["Alex", str(video), "movie.mkv", 11]
|
||||
assert not lobby.create_dialog.isVisible()
|
||||
assert not lobby.create_action_btn.isEnabled()
|
||||
assert not lobby.join_action_btn.isEnabled()
|
||||
lobby.reset_ui()
|
||||
qtbot.mouseClick(lobby.join_action_btn, Qt.MouseButton.LeftButton)
|
||||
lobby.room_code_input.setText("abc123")
|
||||
with qtbot.waitSignal(lobby.join_requested) as signal:
|
||||
qtbot.keyClick(lobby.room_code_input, Qt.Key.Key_Return)
|
||||
assert signal.args == ["Alex", "ABC123"]
|
||||
assert not lobby.join_dialog.isVisible()
|
||||
|
||||
Reference in New Issue
Block a user