from server.config import ServerSettings from server.grid import GridManager from server.planner import GridPlanner from server.models import ActionType, GridInitRequest def test_planner_preferred_label(default_grid_request): settings = ServerSettings() manager = GridManager(settings) request = GridInitRequest(**default_grid_request) grid = manager.create_grid(request) descriptor = grid.describe() descriptor.cells[0].label = "target" planner = GridPlanner() payload = planner.build_payload(descriptor, preferred_label="target", action=ActionType.CLICK) assert payload.target_cell == descriptor.cells[0].cell_id def test_planner_falls_back_to_center(default_grid_request): settings = ServerSettings() manager = GridManager(settings) request = GridInitRequest(**default_grid_request) grid = manager.create_grid(request) descriptor = grid.describe() planner = GridPlanner() payload = planner.build_payload(descriptor, action=ActionType.CLICK) assert payload.target_cell is not None assert payload.grid_id == descriptor.grid_id