diff --git a/critiquebrainz/frontend/external/musicbrainz_db/release_group.py b/critiquebrainz/frontend/external/musicbrainz_db/release_group.py index 4f6af6d7f..ffbbd8f7e 100644 --- a/critiquebrainz/frontend/external/musicbrainz_db/release_group.py +++ b/critiquebrainz/frontend/external/musicbrainz_db/release_group.py @@ -143,6 +143,7 @@ def browse_release_groups(*, artist_id, release_types=None, limit=None, offset=N for release_group in release_groups: includes_data[release_group.id]['meta'] = release_group.meta - release_groups = ([to_dict_release_groups(release_group, includes_data[release_group.id]) for release_group in release_groups], count) + release_groups = ([to_dict_release_groups(release_group, includes_data[release_group.id]) + for release_group in release_groups], count) cache.set(key=key, val=release_groups, time=DEFAULT_CACHE_EXPIRATION) return release_groups diff --git a/critiquebrainz/frontend/external/musicbrainz_db/tests/release_group_test.py b/critiquebrainz/frontend/external/musicbrainz_db/tests/release_group_test.py index 0aeaf176c..f5988f9e9 100644 --- a/critiquebrainz/frontend/external/musicbrainz_db/tests/release_group_test.py +++ b/critiquebrainz/frontend/external/musicbrainz_db/tests/release_group_test.py @@ -11,14 +11,14 @@ def setUp(self): setup_cache() mb_release_group.mb_session = MagicMock() self.mock_db = mb_release_group.mb_session.return_value.__enter__.return_value - self.release_group_query = self.mock_db.query.return_value.options.return_value.options.return_value.\ - options.return_value.options.return_value.options.return_value.filter.return_value.all - self.release_group_query_without_artists = self.mock_db.query.return_value.\ - options.return_value.options.return_value.filter.return_value.all - + self._release_group_query = self.mock_db.query.return_value.options.return_value.options.return_value + self._release_group_query_with_artists = self._release_group_query.options.return_value.options.return_value.\ + options.return_value + self.release_group_query = self._release_group_query.filter.return_value.all + self.release_group_query_with_artists = self._release_group_query_with_artists.filter.return_value.all def test_get_by_id(self): - self.release_group_query.return_value = [releasegroup_numb_encore] + self.release_group_query_with_artists.return_value = [releasegroup_numb_encore] release_group = mb_release_group.get_release_group_by_id( '7c1014eb-454c-3867-8854-3c95d265f8de', ) @@ -46,7 +46,7 @@ def test_get_by_id(self): }) def test_fetch_release_groups(self): - self.release_group_query_without_artists.return_value = [releasegroup_numb_encore, releasegroup_collision_course] + self.release_group_query.return_value = [releasegroup_numb_encore, releasegroup_collision_course] release_groups = mb_release_group.fetch_multiple_release_groups( mbids=['8ef859e3-feb2-4dd1-93da-22b91280d768', '7c1014eb-454c-3867-8854-3c95d265f8de'], ) @@ -54,12 +54,13 @@ def test_fetch_release_groups(self): self.assertEqual(release_groups['7c1014eb-454c-3867-8854-3c95d265f8de']['title'], 'Numb/Encore') self.assertEqual(release_groups['8ef859e3-feb2-4dd1-93da-22b91280d768']['title'], 'Collision Course') - def test_fetch_browse_release_groups(self): - self.browse_release_groups_query = self.mock_db.query.return_value.options.return_value.join.return_value.\ - join.return_value.join.return_value.join.return_value.filter.return_value.filter.return_value - self.browse_release_groups_query_count = self.browse_release_groups_query.count - self.browse_release_groups_query = self.browse_release_groups_query.order_by.return_value.limit.return_value.offset + self._query = self.mock_db.query.return_value.options.return_value + self._joined_query = self._query.join.return_value.join.return_value.join.return_value.join.return_value + self._joined_filtered_query = self._joined_query.filter.return_value.filter.return_value + self.browse_release_groups_query_count = self._joined_filtered_query.count + self.browse_release_groups_query = self._joined_filtered_query.order_by.return_value.limit.return_value.offset + self.browse_release_groups_query_count.return_value = 2 self.browse_release_groups_query.return_value = [releasegroup_collision_course, releasegroup_numb_encore] release_groups = mb_release_group.browse_release_groups( diff --git a/critiquebrainz/frontend/views/artist.py b/critiquebrainz/frontend/views/artist.py index 340cc32f1..52c493d28 100644 --- a/critiquebrainz/frontend/views/artist.py +++ b/critiquebrainz/frontend/views/artist.py @@ -98,6 +98,15 @@ def _squash_duplicated_members(members): def _get_period(member): + """Get period for which an artist is/was part of a group, orchestra or choir. + + Args: + member (Dict): Dictionary containing the artist information. + + Returns: + Tuple containing the begin and end year during which an artist was part of + a group. + """ begin_date = member.get('begin-year', '') end_date = member.get('end-year', '') diff --git a/critiquebrainz/frontend/views/test/test_artist.py b/critiquebrainz/frontend/views/test/test_artist.py index 5a59e40b4..b338d4269 100644 --- a/critiquebrainz/frontend/views/test/test_artist.py +++ b/critiquebrainz/frontend/views/test/test_artist.py @@ -24,18 +24,16 @@ def return_release_groups(*, artist_id, release_types=None, limit=None, offset=N 'title': 'A Thousand Suns', 'first-release-year': 2010, }], 1) - return ([], 0) + return [], 0 class ArtistViewsTestCase(FrontendTestCase): - def setUp(self): super(ArtistViewsTestCase, self).setUp() mb_artist.get_artist_by_id = MagicMock() mb_release_group.browse_release_groups = MagicMock(side_effect=return_release_groups) - def test_artist_page(self): # Basic artist page should be available. mb_artist.get_artist_by_id.return_value = {