Files
Tirsvad 68c439137f Implement bot core: open game, select language, click cookie, read count
Domain number parser, GamePort, the four lecture step functions, the
Selenium adapter and offline tests (fake game, fake driver). Reviewed in
RC-011.

Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
Task: MIL-002#4
Task: MIL-002#5
Closes #8
Closes #9
Closes #10
Closes #11
Closes #12
2026-10-28 16:33:33 +08:00

26 lines
760 B
Python

"""@file
@brief A fake game page for tests that must not start a browser.
"""
class FakeGame:
"""@brief Records what the bot does and answers reads from a dictionary."""
def __init__(self, texts: dict[str, str] | None = None) -> None:
self.texts: dict[str, str] = texts or {}
self.opened: list[str] = []
self.waited: list[str] = []
self.clicked: list[str] = []
def open_page(self, url: str) -> None:
self.opened.append(url)
def wait_for_element(self, element_id: str) -> None:
self.waited.append(element_id)
def click_element(self, element_id: str) -> None:
self.clicked.append(element_id)
def read_text(self, element_id: str) -> str:
return self.texts[element_id]