62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
"""Tests for windows.* commands."""
|
|
import pytest
|
|
from browser_cli.client import send_command
|
|
|
|
|
|
def test_windows_list(browser):
|
|
windows = browser("windows.list")
|
|
assert isinstance(windows, list)
|
|
assert len(windows) >= 1
|
|
|
|
|
|
def test_windows_each_has_required_fields(browser):
|
|
windows = browser("windows.list")
|
|
for w in windows:
|
|
assert "id" in w
|
|
assert isinstance(w["id"], int)
|
|
assert "tabCount" in w
|
|
assert isinstance(w["tabCount"], int)
|
|
|
|
|
|
def test_windows_has_state(browser):
|
|
windows = browser("windows.list")
|
|
# Every window should report a state (normal, minimized, maximized, fullscreen)
|
|
for w in windows:
|
|
assert "state" in w
|
|
|
|
|
|
def test_windows_open_and_close(browser):
|
|
result = browser("windows.open", {})
|
|
assert isinstance(result, dict)
|
|
new_id = result["id"]
|
|
|
|
windows = browser("windows.list")
|
|
assert any(w["id"] == new_id for w in windows)
|
|
|
|
browser("windows.close", {"windowId": new_id})
|
|
|
|
windows_after = browser("windows.list")
|
|
assert new_id not in [w["id"] for w in windows_after]
|
|
|
|
|
|
def test_windows_tab_count_positive(browser):
|
|
windows = browser("windows.list")
|
|
for w in windows:
|
|
assert w["tabCount"] >= 0
|
|
|
|
|
|
def test_windows_rename(browser):
|
|
result = browser("windows.open", {})
|
|
new_id = result["id"]
|
|
|
|
try:
|
|
rename_result = browser("windows.rename", {"windowId": new_id, "name": "__test_alias__"})
|
|
assert isinstance(rename_result, dict)
|
|
|
|
windows = browser("windows.list")
|
|
match = next((w for w in windows if w["id"] == new_id), None)
|
|
assert match is not None
|
|
assert match.get("alias") == "__test_alias__"
|
|
finally:
|
|
browser("windows.close", {"windowId": new_id})
|