""" Тесты для svodka_ca эндпоинтов """ import pytest import requests class TestSvodkaCAEndpoints: """Тесты эндпоинтов svodka_ca""" def test_svodka_ca_get_ca_data(self, wait_for_api, api_base_url): """Тест получения данных из сводок СА""" # Пример из схемы SvodkaCARequest data = { "modes": ["fact", "plan"], "tables": ["table1", "table2"] } response = requests.post(f"{api_base_url}/svodka_ca/get_ca_data", 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_ca/get_ca_data работает: получены данные для режимов {data['modes']}") def test_svodka_ca_get_ca_data_single_mode(self, wait_for_api, api_base_url): """Тест получения данных из сводок СА для одного режима""" data = { "modes": ["fact"], "tables": ["table1"] } response = requests.post(f"{api_base_url}/svodka_ca/get_ca_data", 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_ca/get_ca_data с одним режимом работает: получены данные для режима {data['modes'][0]}") def test_svodka_ca_get_ca_data_multiple_tables(self, wait_for_api, api_base_url): """Тест получения данных из сводок СА для нескольких таблиц""" data = { "modes": ["fact", "plan"], "tables": ["table1", "table2", "table3"] } response = requests.post(f"{api_base_url}/svodka_ca/get_ca_data", 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_ca/get_ca_data с несколькими таблицами работает: получены данные для {len(data['tables'])} таблиц")