Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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()