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

40 lines
1.6 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.

# pyright: reportCallIssue=false
import os
from typing import Any, Final
from behave import given, when, then
from worklib.QueryData import kvs_query_data, kvs_query_data_place_id
from worklib import admin_data
from worklib.auth_as_employer import get_access_token
from worklib.findplaceinfo.find_place_data import fetch_place_members
expected_result = {
"members": [
{
"id": "bb368ee9-c15f-40ef-acb0-c466df47d096",
"parent_id": None,
"user": {
"username": "+79999956657"
}
}
]
}
@when("get place info kvs") # 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=kvs_query_data()["query"], variables=kvs_query_data_place_id()["variables"])
context.place_info = data
@then("place info is valid") # 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]["members"][0]["id"] == expected_result["members"][0]["id"]
assert data["data"]["place"]["results"][0]["members"][0]["parent_id"] == expected_result["members"][0]["parent_id"]
assert data["data"]["place"]["results"][0]["members"][0]["user"]["username"] == expected_result["members"][0]["user"]["username"]