コード例 #1
0
def test_recent_plays():
    mixer.cycle(30).blend(ScrobbleDb)
    orm.flush()
    scrobbles = list(scrobble_logic.recent_plays())
    assert len(scrobbles) == 30
    for idx, scrobble in enumerate(scrobbles):
        if idx > 0:
            assert scrobbles[idx].date < scrobbles[idx - 1].date
コード例 #2
0
def test_recent_plays_min_max_date():
    song = mixer.blend(SongDb)
    mixer.cycle(5).blend(ScrobbleDb, date=datetime.now(), song=song)
    mixer.cycle(5).blend(ScrobbleDb,
                         date=datetime.now() - timedelta(days=6),
                         song=song)
    orm.flush()
    scrobbles = scrobble_logic.recent_plays(min_date=datetime.now() -
                                            timedelta(days=4))
    assert len(scrobbles) == 5
コード例 #3
0
def test_top_plays_multiple_users():
    song1 = mixer.blend(SongDb)
    song2 = mixer.blend(SongDb)
    mixer.cycle(5).blend(ScrobbleDb, song=song1)
    mixer.cycle(3).blend(ScrobbleDb, song=song2)
    orm.flush()
    songs = scrobble_logic.most_played_songs()
    assert songs[0]["song"] == song1
    assert songs[0]["plays"] == 5
    assert songs[1]["song"] == song2
    assert songs[1]["plays"] == 3
コード例 #4
0
def test_top_plays_min_max_date():
    song = mixer.blend(SongDb)
    mixer.cycle(5).blend(ScrobbleDb, date=datetime.now(), song=song)
    songs = mixer.cycle(5).blend(ScrobbleDb,
                                 date=datetime.now() - timedelta(days=6),
                                 song=song)
    orm.flush()
    songs = scrobble_logic.most_played_songs()
    assert len(songs) == 1
    assert songs[0]["plays"] == 10

    songs = scrobble_logic.most_played_songs(min_date=datetime.now() -
                                             timedelta(days=1))
    orm.commit()
    assert len(songs) == 1
    assert songs[0]["plays"] == 5
コード例 #5
0
ファイル: test_song.py プロジェクト: MrRikkert/PyMusic
def test_get_song_multiple_artists():
    db_song = mixer.blend(SongDb, artists=mixer.cycle(2).blend(ArtistDb))
    artists = [a.name for a in db_song.artists]
    song = song_logic.get(title=db_song.title, artists=artists)
    assert song is not None
    assert song.title == db_song.title
    assert len(song.artists) == 2
コード例 #6
0
ファイル: test_song.py プロジェクト: MrRikkert/PyMusic
def test_song_exists_existing():
    db_song = mixer.blend(SongDb, artists=mixer.cycle(2).blend(ArtistDb))
    artists = [a.name for a in db_song.artists]
    exists = song_logic.exists(title=db_song.title, artists=artists)
    assert exists
コード例 #7
0
ファイル: test_song.py プロジェクト: MrRikkert/PyMusic
def test_get_song_multiple_artists_get_with_one():
    db_song = mixer.blend(SongDb, artists=mixer.cycle(2).blend(ArtistDb))
    artists = [a.name for a in db_song.artists]
    song = song_logic.get(title=db_song.title, artists=[artists[0]])
    assert song is None