Пример #1
0
def test_phase_active(phase_factory, poll_factory, question, choice, vote,
                      user):
    phase, module, project, _ = setup_phase(phase_factory, poll_factory,
                                            phases.VotingPhase)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert rules.has_perm(perm_name, user, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #2
0
def test_post_phase_project_archived(phase_factory, map_idea_factory, user):
    phase, _, project, item = setup_phase(phase_factory, map_idea_factory,
                                          phases.RatingPhase,
                                          module__project__is_archived=True)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_archived
    with freeze_post_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #3
0
def test_post_phase_project_archived(phase_factory, user):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CommentPhase,
                                            module__project__is_archived=True)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_archived
    with freeze_post_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #4
0
def test_phase_active_project_draft(phase_factory, user):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CollectPhase,
                                            module__project__is_draft=True)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_draft
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #5
0
def test_phase_active_project_draft(phase_factory, proposal_factory, user):
    phase, _, project, item = setup_phase(phase_factory, proposal_factory,
                                          phases.RequestPhase,
                                          module__project__is_draft=True)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_draft
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #6
0
def test_phase_active(phase_factory, chapter_factory, paragraph_factory, user):
    phase, _, project, item = setup_phase(phase_factory, chapter_factory,
                                          phases.CommentPhase)
    anonymous, moderator, initiator = setup_users(project)
    paragraph = paragraph_factory(chapter=item)

    assert project.is_public
    with freeze_phase(phase):
        assert rules.has_perm(perm_name, anonymous, paragraph)
        assert rules.has_perm(perm_name, user, paragraph)
        assert rules.has_perm(perm_name, moderator, paragraph)
        assert rules.has_perm(perm_name, initiator, paragraph)
Пример #7
0
def test_rule_project_archived(offline_event_factory, user, member_factory):
    offline_event = offline_event_factory(project__is_archived=True)
    project = offline_event.project
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_archived
    assert rules.has_perm(perm_name, anonymous, offline_event)
    assert rules.has_perm(perm_name, user, offline_event)
    assert rules.has_perm(perm_name, member.member, offline_event)
    assert rules.has_perm(perm_name, moderator, offline_event)
    assert rules.has_perm(perm_name, initiator, offline_event)
Пример #8
0
def test_phase_active(phase_factory, idea_factory, user):
    phase, _, project, item = setup_phase(phase_factory, idea_factory,
                                          phases.CollectPhase)
    anonymous, moderator, initiator = setup_users(project)
    creator = item.creator

    assert project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, creator, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #9
0
def test_pre_phase(phase_factory, user, member_factory):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CommentPhase)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_public
    with freeze_pre_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert not rules.has_perm(perm_name, member.member, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #10
0
def test_phase_active(phase_factory, idea_factory, user, member_factory):
    phase, _, project, item = setup_phase(phase_factory, idea_factory,
                                          phases.CollectPhase)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, member.member, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
def setup_mapidea_moderation():
    phase, module, project, item = setup_phase(PhaseFactory, MapIdeaFactory,
                                               phases.FeedbackPhase)
    anonymous, moderator, initiator = setup_users(project)
    with freeze_phase(phase):
        url = reverse(
            'a4_candy_mapideas:mapidea-moderate',
            kwargs={
                'organisation_slug': item.project.organisation.slug,
                'pk': item.pk,
                'year': item.created.year
            })
        return anonymous, moderator, initiator, url
Пример #12
0
def test_post_phase_project_archived(phase_factory, user, member_factory):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CollectPhase,
                                            module__project__is_archived=True)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_archived
    with freeze_post_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert not rules.has_perm(perm_name, member.member, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #13
0
def test_post_phase_project_archived(phase_factory, chapter_factory, user):
    phase, _, project, item = setup_phase(phase_factory, chapter_factory,
                                          phases.CommentPhase,
                                          module__project__is_archived=True)
    anonymous, moderator, initiator = setup_users(project)
    creator = item.creator

    assert project.is_archived
    with freeze_post_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert not rules.has_perm(perm_name, creator, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #14
0
def test_facetoface_in_blueprints(client, project):
    anonymous, moderator, initiator = setup_users(project)
    client.login(username=initiator.email, password='******')
    blueprints_url = reverse(
        'a4dashboard:blueprint-list',
        kwargs={'organisation_slug': project.organisation.slug})
    # facetoface_blueprint_url = reverse(
    #     'a4dashboard:project-create',
    #     kwargs={
    #         'blueprint_slug': 'facetoface',
    #         'organisation_slug': project.organisation.slug
    #     })
    resp = client.get(blueprints_url, follow=True)
    assert resp.status_code == 200
Пример #15
0
def test_phase_active_project_draft(phase_factory, user, member_factory):
    phase, module, project, _ = setup_phase(phase_factory,
                                            None,
                                            phases.PrioritizePhase,
                                            module__project__is_draft=True)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_draft
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert not rules.has_perm(perm_name, member.member, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
def test_phase_active_project_draft(phase_factory, topic_factory, user):
    phase, _, project, item = setup_phase(phase_factory,
                                          topic_factory,
                                          phases.PrioritizePhase,
                                          module__project__is_draft=True)
    anonymous, moderator, initiator = setup_users(project)
    creator = item.creator

    assert project.is_draft
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert not rules.has_perm(perm_name, creator, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
def test_pre_phase(phase_factory, user):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CollectPhase)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_public
    with freeze_pre_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
        assert not rules.has_perm(perm_name_2, anonymous, module)
        assert not rules.has_perm(perm_name_2, user, module)
        assert rules.has_perm(perm_name_2, moderator, module)
        assert rules.has_perm(perm_name_2, initiator, module)
Пример #18
0
def test_pre_phase(phase_factory, proposal_factory, user, member_factory):
    phase, _, project, item = setup_phase(phase_factory, proposal_factory,
                                          phases.RequestPhase)
    anonymous, moderator, initiator = setup_users(project)
    creator = item.creator
    member = member_factory(organisation=project.organisation)

    assert project.is_public
    with freeze_pre_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert not rules.has_perm(perm_name, creator, item)
        assert not rules.has_perm(perm_name, member.member, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #19
0
def test_phase_active_project_draft(phase_factory, map_idea_factory, user,
                                    member_factory):
    phase, _, project, item = setup_phase(phase_factory, map_idea_factory,
                                          phases.RatingPhase,
                                          module__project__is_draft=True)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_draft
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert not rules.has_perm(perm_name, member.member, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #20
0
def test_pre_phase(phase_factory, chapter_factory, paragraph_factory, user,
                   member_factory):
    phase, _, project, item = setup_phase(phase_factory, chapter_factory,
                                          phases.CommentPhase)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)
    paragraph = paragraph_factory(chapter=item)

    assert project.is_public
    with freeze_pre_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, paragraph)
        assert not rules.has_perm(perm_name, user, paragraph)
        assert not rules.has_perm(perm_name, member.member, paragraph)
        assert rules.has_perm(perm_name, moderator, paragraph)
        assert rules.has_perm(perm_name, initiator, paragraph)
Пример #21
0
def test_post_phase_project_archived(phase_factory, topic_factory, user,
                                     member_factory):
    phase, _, project, item = setup_phase(phase_factory,
                                          topic_factory,
                                          phases.PrioritizePhase,
                                          module__project__is_archived=True)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    assert project.is_archived
    with freeze_post_phase(phase):
        assert rules.has_perm(perm_name, anonymous, item)
        assert rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, member.member, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #22
0
def test_phase_active_project_private(phase_factory, user, user2):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CollectPhase,
                                            module__project__is_public=False)
    anonymous, moderator, initiator = setup_users(project)

    participant = user2
    project.participants.add(participant)

    assert not project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert rules.has_perm(perm_name, participant, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #23
0
def test_rule_project_private(offline_event_factory, user, user2,
                              member_factory):
    offline_event = offline_event_factory(project__is_public=False)
    project = offline_event.project
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)
    participant = user2
    project.participants.add(participant)

    assert not project.is_public
    assert not rules.has_perm(perm_name, anonymous, offline_event)
    assert not rules.has_perm(perm_name, user, offline_event)
    assert rules.has_perm(perm_name, member.member, offline_event)
    assert rules.has_perm(perm_name, participant, offline_event)
    assert rules.has_perm(perm_name, moderator, offline_event)
    assert rules.has_perm(perm_name, initiator, offline_event)
Пример #24
0
def test_phase_active_project_private(phase_factory, live_question_factory,
                                      user, user2):
    phase, _, project, item = setup_phase(phase_factory, live_question_factory,
                                          phases.IssuePhase,
                                          module__project__access=Access.
                                          PRIVATE)
    anonymous, moderator, initiator = setup_users(project)
    participant = user2
    project.participants.add(participant)

    assert not project.is_public
    with freeze_phase(phase):
        assert rules.has_perm(perm_name, anonymous, item)
        assert rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, participant, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
def test_phase_active_project_private(phase_factory, chapter_factory,
                                      paragraph_factory, user, user2):
    phase, _, project, item = setup_phase(phase_factory,
                                          chapter_factory,
                                          phases.CommentPhase,
                                          module__project__is_public=False)
    anonymous, moderator, initiator = setup_users(project)
    participant = user2
    project.participants.add(participant)
    paragraph = paragraph_factory(chapter=item)

    assert not project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, paragraph)
        assert not rules.has_perm(perm_name, user, paragraph)
        assert rules.has_perm(perm_name, participant, paragraph)
        assert rules.has_perm(perm_name, moderator, paragraph)
        assert rules.has_perm(perm_name, initiator, paragraph)
Пример #26
0
def test_phase_active_project_private(phase_factory, subject_factory,
                                      user, user2, member_factory):
    phase, _, project, item = setup_phase(phase_factory, subject_factory,
                                          phases.DebatePhase,
                                          module__project__is_public=False)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)
    participant = user2
    project.participants.add(participant)

    assert not project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, item)
        assert not rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, member.member, item)
        assert rules.has_perm(perm_name, participant, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Пример #27
0
def test_phase_active_project_private(phase_factory, user, user2,
                                      member_factory):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.CollectPhase,
                                            module__project__access=Access.
                                            PRIVATE)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)

    participant = user2
    project.participants.add(participant)

    assert not project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, module)
        assert not rules.has_perm(perm_name, user, module)
        assert rules.has_perm(perm_name, member.member, module)
        assert rules.has_perm(perm_name, participant, module)
        assert rules.has_perm(perm_name, moderator, module)
        assert rules.has_perm(perm_name, initiator, module)
Пример #28
0
def test_phase_active_project_private(phase_factory, chapter_factory,
                                      paragraph_factory, user, user2,
                                      member_factory):
    phase, _, project, item = setup_phase(
        phase_factory,
        chapter_factory,
        phases.CommentPhase,
        module__project__access=Access.PRIVATE)
    anonymous, moderator, initiator = setup_users(project)
    member = member_factory(organisation=project.organisation)
    participant = user2
    project.participants.add(participant)
    paragraph = paragraph_factory(chapter=item)

    assert not project.is_public
    with freeze_phase(phase):
        assert not rules.has_perm(perm_name, anonymous, paragraph)
        assert not rules.has_perm(perm_name, user, paragraph)
        assert rules.has_perm(perm_name, member.member, paragraph)
        assert rules.has_perm(perm_name, participant, paragraph)
        assert rules.has_perm(perm_name, moderator, paragraph)
        assert rules.has_perm(perm_name, initiator, paragraph)
Пример #29
0
def test_user_is_project_admin(project, user):
    anonymous, moderator, initiator = setup_users(project)
    assert not _user_is_project_admin(anonymous)
    assert not _user_is_project_admin(user)
    assert _user_is_project_admin(moderator)
    assert _user_is_project_admin(initiator)
Пример #30
0
def test_facetoface_in_blueprints(client, project):
    anonymous, moderator, initiator = setup_users(project)
    client.login(username=initiator.email, password='******')