def test_cycle_users(self):
        song_id_0 = self._add_song(song_no=0, user_name='user0')
        _ = self._add_song(song_no=1, user_name='user0')
        song_id_2 = self._add_song(song_no=2, user_name='user1')
        database.mark_song_played(song_id_0)

        songs = database.load_songs(include_played=True,
                                    cycle_users_timedelta=None)
        self.assertEqual(len(songs), 3)

        songs = database.load_songs(
            include_played=False,
            cycle_users_timedelta=datetime.timedelta(weeks=1))
        self.assertEqual(len(songs), 1)
        songs = database.load_songs(
            include_played=True,
            cycle_users_timedelta=datetime.timedelta(weeks=1))
        self.assertEqual(len(songs), 1)
        self.assertEqual(song_id_2, songs[0].song_id)

        songs = database.load_songs(
            include_played=False,
            cycle_users_timedelta=datetime.timedelta(microseconds=1))
        self.assertEqual(len(songs), 2)

        songs = database.load_songs(include_played=False,
                                    cycle_users_timedelta=None)
        self.assertEqual(len(songs), 2)
    def test_apply_priority_played(self):
        today = datetime.date.today().isoweekday()
        song_id_0 = self._add_song(song_no=0, user_name='user0')
        song_id_1 = self._add_song(song_no=1, user_name='user0', day=today)
        _ = self._add_song(song_no=2, user_name='user0')
        song_id_3 = self._add_song(song_no=3, user_name='user0', day=today)
        database.mark_song_played(song_id_0)
        database.mark_song_played(song_id_1)

        songs = database.load_songs(include_played=False,
                                    include_out_of_office=False,
                                    apply_priority=False)
        self.assertEqual(len(songs), 2)
        songs = database.load_songs(include_played=True,
                                    include_out_of_office=False,
                                    apply_priority=False)
        self.assertEqual(len(songs), 4)

        songs = database.load_songs(include_played=False,
                                    include_out_of_office=False,
                                    apply_priority=True)
        self.assertEqual(len(songs), 1)
        self.assertEqual(song_id_3, songs[0].song_id)
        songs = database.load_songs(include_played=True,
                                    include_out_of_office=False,
                                    apply_priority=True)
        self.assertEqual(len(songs), 2)
Exemple #3
0
def update_list(song):
    if not TESTING:
        database.mark_song_played(song.song_id)
        # log that its done
        with open('%s/mindful.log' % util.BASE_PATH, 'a') as f:
            f.write("Played %s at %s\n" %
                    (song.title,
                     datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")))
    def test_load_songs(self):
        songs = database.load_songs(include_played=True)
        self.assertEqual(len(songs), 0)

        songs = database.load_songs(include_played=False)
        self.assertEqual(len(songs), 0)

        song_id = self._add_song()

        songs = database.load_songs(include_played=True)
        self.assertEqual(len(songs), 1)

        songs = database.load_songs(include_played=False)
        self.assertEqual(len(songs), 1)

        database.mark_song_played(song_id)

        songs = database.load_songs(include_played=True)
        self.assertEqual(len(songs), 1)

        songs = database.load_songs(include_played=False)
        self.assertEqual(len(songs), 0)
    def test_cycle_played(self):
        song_id_0 = self._add_song(song_no=0, user_name='user0')
        song_id_1 = self._add_song(song_no=1, user_name='user0')
        database.mark_song_played(song_id_0,
                                  date=(datetime.datetime.now() -
                                        datetime.timedelta(days=1)).date())

        songs = database.load_songs(include_played=False,
                                    cycle_users_timedelta=None,
                                    cycle_played_timedelta=None)
        self.assertEqual(len(songs), 1)

        songs = database.load_songs(
            include_played=False,
            cycle_users_timedelta=None,
            cycle_played_timedelta=datetime.timedelta(microseconds=1))
        self.assertEqual(len(songs), 2)
        songs = database.load_songs(
            include_played=False,
            cycle_users_timedelta=None,
            cycle_played_timedelta=datetime.timedelta(weeks=1))
        self.assertEqual(len(songs), 1)
        self.assertEqual(song_id_1, songs[0].song_id)