def test_is_iotd_false_future(self): image = Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image, date=date.today() + timedelta(days=1)) self.assertFalse(IotdService().is_iotd(image))
def test_is_iotd_true(self): image = Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image) self.assertTrue(IotdService().is_iotd(image))
def test_is_iotd_false_excluded(self): image = Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image) image.user.userprofile.exclude_from_competitions = True image.user.userprofile.save() self.assertFalse(IotdService().is_iotd(image))
def test_get_top_picks_is_current_iotd(self): image = Generators.image() Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image) top_picks = IotdService().get_top_picks() self.assertEquals(0, top_picks.count())
def test_get_top_picks_is_past_iotd(self): image = Generators.image() Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image, date=date.today() - timedelta(days=1)) top_picks = IotdService().get_top_picks() self.assertEquals(0, top_picks.count())
def test_get_iotds_corrupted(self): iotd_image = Generators.image(corrupted=True) Generators.image() Generators.premium_subscription(iotd_image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=iotd_image) IotdGenerators.vote(image=iotd_image) IotdGenerators.iotd(image=iotd_image) iotds = IotdService().get_iotds() self.assertEquals(0, iotds.count())
def test_get_iotds_future_date(self): iotd_image = Generators.image() Generators.image() Generators.premium_subscription(iotd_image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=iotd_image) IotdGenerators.vote(image=iotd_image) IotdGenerators.iotd(image=iotd_image, date=date.today() + timedelta(days=1)) iotds = IotdService().get_iotds() self.assertEquals(0, iotds.count())
def test_is_top_picks_false_already_iotd(self): image = Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image) image.published = datetime.now() - timedelta( days=settings.IOTD_REVIEW_WINDOW_DAYS) image.save() IotdService().update_top_pick_archive() self.assertFalse(IotdService().is_top_pick(image))
def _create_iotd(self, **kwargs): judge = kwargs.pop('judge', Generators.user(groups=['iotd_judges'])) when = kwargs.pop('date', date.today()) user = Generators.user() Generators.premium_subscription(user, 'AstroBin Ultimate 2020+') image = Generators.image(user=user) IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) return IotdGenerators.iotd(judge=judge, image=image, date=when)
def test_get_top_picks_is_future_iotd(self): image = Generators.image() Generators.image() Generators.premium_subscription(image.user, 'AstroBin Ultimate 2020+') IotdGenerators.submission(image=image) IotdGenerators.vote(image=image) IotdGenerators.vote(image=image) IotdGenerators.iotd(image=image, date=date.today() + timedelta(days=1)) image.published = datetime.now() - timedelta( settings.IOTD_REVIEW_WINDOW_DAYS) - timedelta(hours=1) image.save() IotdService().update_top_pick_archive() top_picks = IotdService().get_top_picks() self.assertEquals(1, top_picks.count()) self.assertEquals(image, top_picks.first().image)