Noob_test/features/steps/place_steps_info.py
2026-04-06 14:06:27 +03:00

27 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from behave import given, when, then
from typing import Final
from worklib import admin_data
from worklib.findplaceinfo.find_place_data import fetch_place_members
from worklib.QueryData import query_data, query_data_place_id_variables
# pyright: ignore[reportGeneralTypeIssues]
_EXPECTED_RESULT: Final[dict[str, str]] = {
"id": "682b071a163ac2a0995355be",
"place_type": "street",
"name": "ул. Мебельная",
}
@when("get place info") # pyright: ignore[reportGeneralTypeIssues]
def step_get_place_info(context):
token = getattr(context, "access_token", None) or admin_data.get_or_create_user("tester").access_token
data = fetch_place_members(access_token=token, query=query_data()["query"], variables=query_data_place_id_variables()["variables"])
context.place_info = data
@then("place info is valid for query data") # pyright: ignore[reportGeneralTypeIssues]
def step_place_info_valid(context):
data = getattr(context, "place_info", None)
assert isinstance(data, dict), "Ответ GraphQL не dict"
assert "data" in data or "place" in str(data), f"Не похоже на успешный GraphQL ответ: {data}"
assert data["data"]["place"]["results"][0]["id"] == _EXPECTED_RESULT["id"]
assert data["data"]["place"]["results"][0]["place_type"] == _EXPECTED_RESULT["place_type"]
assert data["data"]["place"]["results"][0]["name"] == _EXPECTED_RESULT["name"]