def test_recent_users(self): """ recent_users should return users sorted by most recent task activity """ task = TaskFactory.create() user1 = UserProfileFactory.create().user user2 = UserProfileFactory.create().user user3 = UserProfileFactory.create().user user4 = UserFactory.create() TaskAttemptFactory.create(user=user4, state=TaskAttempt.STARTED, task=task) TaskAttemptFactory.create(user=user3, state=TaskAttempt.STARTED, task=task) TaskAttemptFactory.create(user=user2, state=TaskAttempt.STARTED, task=task) TaskAttemptFactory.create(user=user2, state=TaskAttempt.FINISHED, task=task) TaskAttemptFactory.create(user=user1, state=TaskAttempt.STARTED, task=task) TaskAttemptFactory.create(user=user3, state=TaskAttempt.ABANDONED, task=task) eq_(user1.taskattempt_set.all().count(), 1) eq_(user2.taskattempt_set.all().count(), 2) eq_(user3.taskattempt_set.all().count(), 2) eq_(user4.taskattempt_set.all().count(), 1) qs = User.recent_users() eq_(len(qs), 3) eq_(qs[0], user1) eq_(qs[1], user2) eq_(qs[2], user3)
def get_context_data(self, *args, **kwargs): ctx = super(HomeView, self).get_context_data(*args, **kwargs) ctx['task_list_heading'] = _('Suggested First Tasks') ctx['teams'] = TaskTeam.objects.all() ctx['recent_users'] = User.recent_users()[0:4] return ctx