From 13bdc201f06013cc399745a0eaa32713879216f9 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Fri, 20 Jan 2023 00:09:45 -0500 Subject: [PATCH] Add more hacky tests --- tests/scrobbles_tests/test_aggregators.py | 57 ++++++++++++++++++++++- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/tests/scrobbles_tests/test_aggregators.py b/tests/scrobbles_tests/test_aggregators.py index 25f6df3..53b3802 100644 --- a/tests/scrobbles_tests/test_aggregators.py +++ b/tests/scrobbles_tests/test_aggregators.py @@ -1,11 +1,16 @@ -from datetime import timedelta, datetime +from datetime import datetime, timedelta import pytest import time_machine from django.contrib.auth import get_user_model from django.urls import reverse from django.utils import timezone -from music.aggregators import scrobble_counts, top_tracks, week_of_scrobbles +from music.aggregators import ( + scrobble_counts, + top_artists, + top_tracks, + week_of_scrobbles, +) from profiles.models import UserProfile from scrobbles.models import Scrobble @@ -52,3 +57,51 @@ def test_top_tracks_by_day(client, mopidy_track_request_data): user = get_user_model().objects.first() tops = top_tracks(user) assert tops[0].title == "Same in the End" + + +@pytest.mark.django_db +def test_top_tracks_by_week(client, mopidy_track_request_data): + build_scrobbles(client, mopidy_track_request_data, 7, 1) + user = get_user_model().objects.first() + tops = top_tracks(user, filter='week') + assert tops[0].title == "Same in the End" + + +@pytest.mark.django_db +def test_top_tracks_by_month(client, mopidy_track_request_data): + build_scrobbles(client, mopidy_track_request_data, 7, 1) + user = get_user_model().objects.first() + tops = top_tracks(user, filter='month') + assert tops[0].title == "Same in the End" + + +@pytest.mark.django_db +def test_top_tracks_by_year(client, mopidy_track_request_data): + build_scrobbles(client, mopidy_track_request_data, 7, 1) + user = get_user_model().objects.first() + tops = top_tracks(user, filter='year') + assert tops[0].title == "Same in the End" + + +@pytest.mark.django_db +def test_top__artists_by_week(client, mopidy_track_request_data): + build_scrobbles(client, mopidy_track_request_data, 7, 1) + user = get_user_model().objects.first() + tops = top_artists(user, filter='week') + assert tops[0].name == "Sublime" + + +@pytest.mark.django_db +def test_top__artists_by_month(client, mopidy_track_request_data): + build_scrobbles(client, mopidy_track_request_data, 7, 1) + user = get_user_model().objects.first() + tops = top_artists(user, filter='month') + assert tops[0].name == "Sublime" + + +@pytest.mark.django_db +def test_top__artists_by_year(client, mopidy_track_request_data): + build_scrobbles(client, mopidy_track_request_data, 7, 1) + user = get_user_model().objects.first() + tops = top_artists(user, filter='year') + assert tops[0].name == "Sublime"