def test_contributors_include_anon(member, anon_submission_unit): """Contributors across the site.""" anon = User.objects.get(username="******") contribs = Contributors(include_anon=True) someuser = UserFactory() assert contribs.include_anon is True # user_qs assert (list(contribs.user_qs) == list( User.objects.exclude(username__in=["system", "default"]))) assert someuser in contribs.user_qs assert anon in contribs.user_qs assert (sorted(contribs) == sorted(contribs.contributors) == sorted( set( contribs.user_qs.filter(contribs.user_filters).values_list( "username", flat=True))) == sorted( set( contribs.user_qs.filter(submission__gt=0).values_list( "username", flat=True)))) # contrib object for username in contribs: assert contribs[username] == contribs.contributors[username] assert username in contribs assert anon.username in contribs assert contribs.contributors == _contributors_list(contribs)
def test_contributors_instance(member, anon_submission_unit): """Contributors across the site.""" anon = User.objects.get(username="******") contribs = Contributors() someuser = UserFactory() assert contribs.include_anon is False assert contribs.language_codes is None assert contribs.project_codes is None # user_qs assert list(contribs.user_qs) == list(User.objects.hide_meta()) assert someuser in contribs.user_qs assert anon not in contribs.user_qs assert sorted(contribs.items()) == sorted(contribs.contributors.items()) assert (sorted(contribs) == sorted(contribs.contributors) == sorted( set( contribs.user_qs.filter(contribs.user_filters).values_list( "username", flat=True))) == sorted( set( contribs.user_qs.filter(submission__gt=0).values_list( "username", flat=True)))) # contrib object for username in contribs: assert contribs[username] == contribs.contributors[username] assert username in contribs assert anon.username not in contribs assert someuser.username not in contribs assert member.username in contribs assert contribs.contributors == _contributors_list(contribs)
def test_model_user_last_event(member): last_submission = Submission.objects.filter(submitter=member).last() last_event = member.last_event() assert isinstance(last_event, ActionDisplay) assert last_event.action == last_submission.get_submission_info() last_event = member.last_event(locale="zu") assert isinstance(last_event, ActionDisplay) assert last_event.action == last_submission.get_submission_info() assert last_event.since == timesince(last_event.action["mtime"], "zu") user = UserFactory() assert not user.last_event()