def test_get_next_asset_should_be_y_and_x(self): assets_helper.create_multiple(viewer.db_conn, [asset_x, asset_y]) sch = viewer.Scheduler() expect_y = sch.get_next_asset() expect_x = sch.get_next_asset() self.assertEqual([expect_y, expect_x], [asset_y, asset_x])
def test_keep_same_position_on_playlist_update(self): assets_helper.create_multiple(viewer.db_conn, [asset_x, asset_y]) sch = viewer.Scheduler() sch.get_next_asset() assets_helper.create(viewer.db_conn, asset_z) sch.update_playlist() self.assertEqual(sch.index, 1)
def test_playlist_should_be_updated_after_deadline_reached(self): assets_helper.create_multiple(viewer.db_conn, [asset_x, asset_y]) _, deadline = viewer.generate_asset_list() fake = FakeDatetime(deadline + timedelta(seconds=1)) viewer.datetime, assets_helper.get_time = fake, lambda: fake.utcnow() sch = viewer.Scheduler() sch.refresh_playlist() self.assertEqual([asset_x], sch.assets)
def test_counter_should_increment_after_full_asset_loop(self): settings.settings['shuffle_playlist'] = True assets_helper.create_multiple(viewer.db_conn, [asset_x, asset_y]) sch = viewer.Scheduler() self.assertEqual(sch.counter, 0) sch.get_next_asset() sch.get_next_asset() self.assertEqual(sch.counter, 1)
def test_check_get_db_mtime(self): settings.settings['database'] = FAKE_DB_PATH with open(FAKE_DB_PATH, 'a'): os.utime(FAKE_DB_PATH, (0, 0)) self.assertEqual(0, viewer.Scheduler().get_db_mtime())