from http import HTTPStatus as http_status from unittest.mock import AsyncMock import pytest from server.client.clients.user_data_api import UserDataApiClient @pytest.mark.skip("dev only") @pytest.mark.parametrize( "body", ( ( { "user": { "id": ["someuserId1", "someuserId2"] }, "entity": { "type": "track", "id": ["entityId1"] }, "include": ["settings"], }, ), ( { "user": { "id": ["someuserId1", "someuserId2"] }, "entity": { "type": "track", "id": ["entityId1"] }, }, ), ( { "user": { "id": ["someuserId1", "someuserId2"] }, "entity": { "type": "playlist", "id": ["entityId1"] }, "include": ["settings"], }, ), ), ) async def test_user_favorites(mocker, client, auth, body): auth.update({"X-User-id": "123", "X-App-Slug": "app1"}) async_user_data_mock = AsyncMock(return_value={"data": []}) get_user_data_mock = mocker.patch.object(UserDataApiClient, "_send_request", side_effect=async_user_data_mock) response = await client.post("/api/service/users/favorites/list/", json=body, headers=auth) assert response.status == http_status.OK get_user_data_mock.assert_called_once()