Chessistics/tools/automation/test_delete_key.py
Samuel Bouchet 6c28665c38 Add Delete/Backspace shortcut to remove the selected piece
DetailPanel exposes the currently-shown piece id; Main's key handler
delegates Delete or Backspace to the same path as the Retirer button
when a piece is selected. Harness gains "delete" under key() so UI
tests can exercise the shortcut directly.
2026-04-17 22:23:38 +02:00

30 lines
864 B
Python

"""Smoke test for Delete key removing a selected piece."""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from tools.automation.harness import Harness
def main():
with Harness.launch(run_name="delete_key") as h:
h.load_mission("campaign_01", 0)
h.place("Pawn", (0, 0), (0, 1))
# Select the piece by clicking its start cell
h.click_cell(0, 0)
h.screenshot("01_selected")
assert len(h.state()['pieces']) == 1
# Press Delete
h.key("delete")
h.screenshot("02_deleted")
s = h.state()
assert len(s['pieces']) == 0, "Piece should be removed"
assert s['remainingStock']['Pawn'] == 4, "Stock should be replenished"
print("OK — Delete key removes the selected piece")
if __name__ == "__main__":
main()