Bot & Automation
jorgasisten
/root/hermes-projects/jorgasisten
tests/test_sheets_find_rows.py
text
from types import SimpleNamespace
from jorgasisten.schemas import SheetRow
from jorgasisten.services.sheets import GoogleSheetsClient
def test_find_rows_returns_top_match_when_score_gap_is_clear() -> None:
client = GoogleSheetsClient(
settings=SimpleNamespace(
google_service_account_json_base64="x",
google_application_credentials="",
max_sample_rows=5,
max_result_rows=12,
google_sheets_spreadsheet_id="sheet-123",
),
spreadsheet_id="sheet-123",
)
client.read_rows = lambda _sheet_name: [ # type: ignore[method-assign]
SheetRow(sheet_name="Stok", row_number=2, values={"Produk": "Oli MPX", "Qty": "8"}),
SheetRow(sheet_name="Stok", row_number=3, values={"Produk": "Oli Federal", "Qty": "5"}),
]
rows = client.find_rows("Stok", {"query": "oli mpx"})
assert len(rows) == 1
assert rows[0].values["Produk"] == "Oli MPX"