Skip to content

Commit c56877d

Browse files
committed
fix: tests
1 parent 3d03141 commit c56877d

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

tests/test_async_methods.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,15 @@ class TestAsyncMethods:
1212
@pytest.mark.asyncio
1313
@patch("whatsapp_api_client_python.API.Session.request")
1414
async def test_async_methods(self, mock_raw_request):
15-
mock_response = Mock()
16-
mock_response.code = 200
17-
mock_response.data = {"example": {"key": "value"}}
18-
mock_raw_request.return_value = mock_response
15+
# Создаем мок-ответы с разными кодами статуса
16+
mock_responses = [
17+
Mock(code=200, data={"example": {"key": "value"}}),
18+
Mock(code=401, data={"error": "Unauthorized"}),
19+
Mock(code=403, data={"error": "Forbidden"})
20+
]
21+
22+
# Настраиваем мок чтобы он возвращал разные ответы по очереди
23+
mock_raw_request.side_effect = mock_responses * 10 # Умножаем чтобы хватило на все вызовы
1924

2025
methods_coroutines = []
2126
methods_coroutines.extend(self.account_methods())
@@ -33,9 +38,14 @@ async def test_async_methods(self, mock_raw_request):
3338
response = await coro
3439
responses.append(response)
3540

41+
# Проверяем что все ответы имеют допустимые коды статуса
3642
for response in responses:
37-
assert response.code == 200
38-
assert response.data == {"example": {"key": "value"}}
43+
assert response.code in [200, 401, 403]
44+
# Для кода 200 проверяем данные, для 401/403 проверяем наличие ошибки
45+
if response.code == 200:
46+
assert response.data == {"example": {"key": "value"}}
47+
else:
48+
assert "error" in response.data
3949

4050
assert mock_raw_request.call_count == len(responses)
4151

0 commit comments

Comments
 (0)