From 8ecfef6085452ae26bf9e48e0ded6ff0d80c6788 Mon Sep 17 00:00:00 2001 From: Gleb Liutsko Date: Thu, 7 May 2020 11:31:58 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20PlaylistsRecommendations?= =?UTF-8?q?=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D0=B0=20=D0=B2=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B5=20PlaylistsRecommendations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_playlists_recommendations.py | 43 +++++++++++++++++++ .../playlist/playlists_recommendations.py | 4 +- 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 tests/test_playlists_recommendations.py diff --git a/tests/test_playlists_recommendations.py b/tests/test_playlists_recommendations.py new file mode 100644 index 0000000..1763530 --- /dev/null +++ b/tests/test_playlists_recommendations.py @@ -0,0 +1,43 @@ +import pytest + +from yandex_music import PlaylistsRecommendations + + +@pytest.fixture(scope='class') +def playlists_recommendations(track): + return PlaylistsRecommendations([track], TestPlaylistsRecommendations.batch_id) + + +class TestPlaylistsRecommendations: + batch_id = '1588835234913188-6341822935848536902' + + def test_expected_values(self, playlists_recommendations, track): + assert playlists_recommendations.batch_id == self.batch_id + assert playlists_recommendations.tracks == [track] + + def test_de_json_none(self, client): + assert PlaylistsRecommendations.de_json({}, client) is None + + def test_de_json_required(self, client, track): + json_dict = {'tracks': [track.to_dict()]} + playlists_recommendations = PlaylistsRecommendations.de_json(json_dict, client) + + assert playlists_recommendations.tracks == [track] + + def test_de_json_all(self, client, track): + json_dict = {'batch_id': self.batch_id, 'tracks': [track.to_dict()]} + playlists_recommendations = PlaylistsRecommendations.de_json(json_dict, client) + + assert playlists_recommendations.batch_id == self.batch_id + assert playlists_recommendations.tracks == [track] + + def test_equality(self, track): + a = PlaylistsRecommendations([track]) + b = PlaylistsRecommendations([]) + c = PlaylistsRecommendations([track]) + + assert a != b + assert hash(a) != hash(b) + assert a is not b + + assert a == c diff --git a/yandex_music/playlist/playlists_recommendations.py b/yandex_music/playlist/playlists_recommendations.py index 8a4c15a..1494350 100644 --- a/yandex_music/playlist/playlists_recommendations.py +++ b/yandex_music/playlist/playlists_recommendations.py @@ -28,11 +28,11 @@ class PlaylistsRecommendations(YandexMusicObject): **kwargs) -> None: super().handle_unknown_kwargs(self, **kwargs) - self.batchId = batch_id + self.batch_id = batch_id self.tracks = tracks self.client = client - self._id_attrs = (self.batchId, self.tracks) + self._id_attrs = (self.batch_id, self.tracks) @classmethod def de_json(cls, data: dict, client: 'Client') -> Optional['PlaylistsRecommendations']: