""" Тесты для svodka_pm эндпоинтов """ import pytest import requests class TestSvodkaPMEndpoints: """Тесты эндпоинтов svodka_pm""" def test_svodka_pm_single_og(self, wait_for_api, api_base_url): """Тест получения данных по одному ОГ""" # Пример из схемы SvodkaPMSingleOGRequest data = { "id": "SNPZ", "codes": [78, 79], "columns": ["ПП", "СЭБ"] } response = requests.post(f"{api_base_url}/svodka_pm/single_og", json=data) assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}" result = response.json() assert result["success"] is True, f"Запрос не удался: {result}" assert "data" in result, "Отсутствует поле 'data' в ответе" print(f"✅ svodka_pm/single_og работает: получены данные для {data['id']}") def test_svodka_pm_total_ogs(self, wait_for_api, api_base_url): """Тест получения данных по всем ОГ""" # Пример из схемы SvodkaPMTotalOGsRequest data = { "codes": [78, 79, 394, 395, 396, 397, 81, 82, 83, 84], "columns": ["БП", "ПП", "СЭБ"] } response = requests.post(f"{api_base_url}/svodka_pm/get_total_ogs", json=data) assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}" result = response.json() assert result["success"] is True, f"Запрос не удался: {result}" assert "data" in result, "Отсутствует поле 'data' в ответе" print(f"✅ svodka_pm/get_total_ogs работает: получены данные по всем ОГ") def test_svodka_pm_single_og_with_search(self, wait_for_api, api_base_url): """Тест получения данных по одному ОГ с параметром search""" data = { "id": "SNPZ", "codes": [78, 79], "columns": ["ПП", "СЭБ"], "search": "Итого" } response = requests.post(f"{api_base_url}/svodka_pm/single_og", json=data) assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}" result = response.json() assert result["success"] is True, f"Запрос не удался: {result}" assert "data" in result, "Отсутствует поле 'data' в ответе" print(f"✅ svodka_pm/single_og с search работает: получены данные для {data['id']} с фильтром") def test_svodka_pm_total_ogs_with_search(self, wait_for_api, api_base_url): """Тест получения данных по всем ОГ с параметром search""" data = { "codes": [78, 79, 394, 395, 396, 397, 81, 82, 83, 84], "columns": ["БП", "ПП", "СЭБ"], "search": "Итого" } response = requests.post(f"{api_base_url}/svodka_pm/get_total_ogs", json=data) assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}" result = response.json() assert result["success"] is True, f"Запрос не удался: {result}" assert "data" in result, "Отсутствует поле 'data' в ответе" print(f"✅ svodka_pm/get_total_ogs с search работает: получены данные по всем ОГ с фильтром")