Exemple #1
0
def test_moderator_can_create_topic_before_phase(client, phase_factory,
                                                 category_factory, admin):
    phase = phase_factory(phase_content=phases.PrioritizePhase())
    module = phase.module
    project = module.project
    category = category_factory(module=module)
    moderator = project.moderators.first()
    url = reverse('a4dashboard:topic-create',
                  kwargs={
                      'organisation_slug': module.project.organisation.slug,
                      'module_slug': module.slug
                  })
    with freeze_pre_phase(phase):
        client.login(username=moderator.email, password='******')
        response = client.get(url)
        assert_template_response(response,
                                 'a4_candy_topicprio/topic_create_form.html')
        assert response.status_code == 200
        topic = {
            'name': 'Topic',
            'description': 'description',
            'category': category.pk,
        }
        response = client.post(url, topic)
        assert response.status_code == 302
        assert redirect_target(response) == 'topic-list'
        count = models.Topic.objects.all().count()
        assert count == 1
Exemple #2
0
def test_pre_phase(phase_factory, chapter_factory, user):
    phase, _, project, item = setup_phase(phase_factory, chapter_factory,
                                          phases.CommentPhase)
    anonymous, moderator, initiator = setup_users(project)

    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 rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Exemple #3
0
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)
Exemple #4
0
def test_pre_phase(phase_factory, topic_factory, user):
    phase, _, project, item = setup_phase(phase_factory, topic_factory,
                                          phases.PrioritizePhase)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_public
    with freeze_pre_phase(phase):
        assert rules.has_perm(perm_name, anonymous, item)
        assert rules.has_perm(perm_name, user, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
Exemple #5
0
def test_pre_phase(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_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)
Exemple #6
0
def test_pre_phase(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_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, member.member, item)
        assert rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
def test_pre_phase(phase_factory, map_idea_factory, user):
    phase, _, project, item = setup_phase(phase_factory, map_idea_factory,
                                          phases.CollectPhase)
    anonymous, moderator, initiator = setup_users(project)
    creator = item.creator

    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 rules.has_perm(perm_name, moderator, item)
        assert rules.has_perm(perm_name, initiator, item)
def test_pre_phase(phase_factory, user, member_factory):
    phase, module, project, _ = setup_phase(phase_factory, None,
                                            phases.PrioritizePhase)
    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)
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 rules.has_perm(perm_name, anonymous, paragraph)
        assert rules.has_perm(perm_name, user, paragraph)
        assert rules.has_perm(perm_name, member.member, paragraph)
        assert rules.has_perm(perm_name, moderator, paragraph)
        assert rules.has_perm(perm_name, initiator, paragraph)
def test_user_cannot_create_livequestion_during_pre_phase(
        apiclient, user, category_factory, phase_factory):

    phase = phase_factory(phase_content=phases.IssuePhase())
    module = phase.module
    category = category_factory(module=module)
    url = reverse('interactiveevents-list',
                  kwargs={'module_pk': module.pk})
    data = {
        'text': 'I have a question',
        'category': category.pk
    }
    assert apiclient.login(username=user.email, password='******')
    with freeze_pre_phase(phase):
        response = apiclient.post(url, data, format='json')
        assert response.status_code == 403
def test_post_phase_project_archived(phase_factory, user):
    phase, module, project, _ = setup_phase(phase_factory,
                                            None,
                                            phases.CollectPhase,
                                            module__project__is_archived=True)
    anonymous, moderator, initiator = setup_users(project)

    assert project.is_archived
    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)
Exemple #12
0
def test_initiator_can_create_topic_before_phase(client, phase_factory,
                                                 category_factory, admin):
    phase = phase_factory(phase_content=phases.DebatePhase())
    module = phase.module
    project = module.project
    initiator = project.organisation.initiators.first()
    url = reverse('a4dashboard:subject-create',
                  kwargs={
                      'organisation_slug': module.project.organisation.slug,
                      'module_slug': module.slug
                  })
    with freeze_pre_phase(phase):
        client.login(username=initiator.email, password='******')
        response = client.get(url)
        assert_template_response(response,
                                 'a4_candy_debate/subject_create_form.html')
        assert response.status_code == 200
        subject = {'name': 'subject'}
        response = client.post(url, subject)
        assert response.status_code == 302
        assert redirect_target(response) == 'subject-list'
        count = models.Subject.objects.all().count()
        assert count == 1