def test_user_count(settings): """A basic test to execute the get_users_count Celery task.""" UserFactory.create_batch(3) settings.CELERY_TASK_ALWAYS_EAGER = True task_result = get_users_count.delay() assert isinstance(task_result, EagerResult) assert task_result.result == 3
def test_get_followers_when_type_other_than_exam_or_test(self): users = UserFactory.create_batch(random.randint(10, 20)) event = factories.EventFactory( type=random.choice([Event.TYPE_GENERIC, Event.TYPE_CLASS, Event.TYPE_OTHER]), interested=users ) followers = event.get_followers() users_emails = [user.email for user in users] self.assertEqual(len(users_emails), len(followers)) for email in users_emails: self.assertTrue(email in followers)
def test_get_for_user(self): users = UserFactory.create_batch(8) users += self.users events = factories.EventFactory.create_batch(random.randint(50, 100), author=random.choice(users)) events.append(self.event) user = random.choice(users) events_for_user = Event.get_for_user(user) filtered_events = [x for x in events if x.author == user] self.assertEqual(len(filtered_events), len(events_for_user)) filtered_pk = [x.pk for x in filtered_events] for i in range(0, len(events_for_user)): self.assertTrue(events_for_user[i].pk in filtered_pk)
def test_get_last_sent_dialogs(self): friends = UserFactory.create_batch(10) dialogs = [] for friend in friends: dialog = Dialog.objects.create(users=[self.user.pk, friend.pk]) dialog.send_message(sender=self.user, text=f"{self.user}'s message") dialog.send_message(sender=friend, text=f"{friend}'s message") dialogs.append(dialog) dialog = dialogs[5] # 5 is like random dialog dialog.send_message( sender=self.user, text=f"One more {self.user}'s message") # must be on the top dialogs[3].send_message( sender=friends[3], text=f"One more {friends[3]}'s message") # mustn't be on the top response = self.client.get(f"{reverse('dialogs-list')}?last_sent=true") data = response.data['results'] assert 200 assert data[0]['id'] == dialog.pk