Ejemplo n.º 1
0
def test_create_view(client, phase_factory, proposal_factory, user,
                     category_factory, area_settings_factory):
    phase, module, project, item = setup_phase(
        phase_factory, proposal_factory, phases.RequestPhase)
    area_settings_factory(module=module)
    category = category_factory(module=module)
    url = reverse('meinberlin_budgeting:proposal-create',
                  kwargs={'module_slug': module.slug})
    with freeze_phase(phase):
        client.login(username=user.email, password='******')

        response = client.get(url)
        assert_template_response(
            response,
            'meinberlin_budgeting/proposal_create_form.html')

        data = {
            'name': 'Idea',
            'description': 'description',
            'category': category.pk,
            'budget': 123,
            'point': (0, 0),
            'point_label': 'somewhere'
        }
        response = client.post(url, data)
        assert redirect_target(response) == 'proposal-detail'
Ejemplo n.º 2
0
def test_initiator_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)
    initiator = project.organisation.initiators.first()
    url = reverse('a4dashboard:topic-create',
                  kwargs={'module_slug': module.slug})
    with freeze_pre_phase(phase):
        client.login(username=initiator.email, password='******')
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_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
Ejemplo n.º 3
0
def test_user_can_create_idea_during_active_phase(client, phase_factory, user,
                                                  category_factory):
    phase = phase_factory(phase_content=phases.IssuePhase())
    module = phase.module
    category = category_factory(module=module)
    url = reverse('meinberlin_ideas:idea-create',
                  kwargs={'module_slug': module.slug})

    with freeze_phase(phase):
        count = models.Idea.objects.all().count()
        assert count == 0
        client.login(username=user.email, password='******')
        response = client.get(url)
        assert_template_response(response,
                                 'meinberlin_ideas/idea_create_form.html')
        assert response.status_code == 200
        idea = {
            'name': 'Idea',
            'description': 'description',
            'category': category.pk,
        }
        response = client.post(url, idea)
        assert response.status_code == 302
        assert redirect_target(response) == 'idea-detail'
        count = models.Idea.objects.all().count()
        assert count == 1
Ejemplo n.º 4
0
def test_moderator_can_create_maptopic_before_phase(client, phase_factory,
                                                    category_factory, admin,
                                                    area_settings_factory):
    phase = phase_factory(phase_content=phases.PrioritizePhase())
    module = phase.module
    project = module.project
    area_settings_factory(module=module)
    category = category_factory(module=module)
    moderator = project.moderators.first()
    url = reverse('a4dashboard:maptopic-create',
                  kwargs={'module_slug': module.slug})
    with freeze_pre_phase(phase):
        client.login(username=moderator.email, password='******')
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_maptopicprio/maptopic_create_form.html')
        assert response.status_code == 200
        maptopic = {
            'name': 'MapTopic',
            'description': 'description',
            'category': category.pk,
            'point': (0, 0),
            'point_label': 'somewhere'
        }
        response = client.post(url, maptopic)
        assert response.status_code == 302
        assert redirect_target(response) == 'maptopic-list'
        count = models.MapTopic.objects.all().count()
        assert count == 1
def test_admin_can_create_mapidea_in_wrong_phase(client, phase_factory, admin,
                                                 category_factory,
                                                 area_settings_factory):
    phase = phase_factory(phase_content=phases.RatingPhase())
    module = phase.module
    area_settings_factory(module=module)
    category = category_factory(module=module)
    url = reverse('meinberlin_mapideas:mapidea-create',
                  kwargs={'module_slug': module.slug})
    with freeze_phase(phase):
        client.login(username=admin.email, password='******')
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_mapideas/mapidea_create_form.html')
        assert response.status_code == 200
        mapidea = {
            'name': 'MapIdea',
            'description': 'description',
            'category': category.pk,
            'point': (0, 0),
            'point_label': 'somewhere'
        }
        response = client.post(url, mapidea)
        assert response.status_code == 302
        assert redirect_target(response) == 'mapidea-detail'
        count = models.MapIdea.objects.all().count()
        assert count == 1
def test_document_detail_view(client, phase_factory, chapter_factory):
    phase, module, project, item = setup_phase(phase_factory, chapter_factory,
                                               phases.CommentPhase)
    url = project.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(response,
                                 'meinberlin_documents/chapter_detail.html')
Ejemplo n.º 7
0
def test_detail_view(client, phase_factory, idea_factory):
    phase, module, project, idea = setup_phase(phase_factory, idea_factory,
                                               phases.FeedbackPhase)
    url = idea.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(response, 'meinberlin_ideas/idea_detail.html')
        assert response.status_code == 200
def test_list_view(client, phase_factory, proposal_factory):
    phase, module, project, item = setup_phase(
        phase_factory, proposal_factory, phases.RequestPhase)
    url = project.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_kiezkasse/proposal_list.html')
def test_edit_view(client, phase_factory):
    phase, module, project, item = setup_phase(phase_factory, None,
                                               VotingPhase)
    initiator = module.project.organisation.initiators.first()
    url = component.get_base_url(module)
    client.login(username=initiator.email, password='******')
    response = client.get(url)
    assert_template_response(response, 'meinberlin_polls/poll_dashboard.html')
Ejemplo n.º 10
0
def test_detail_view(client, project_container):
    url = project_container.get_absolute_url()
    response = client.get(url)
    assert_template_response(
        response, 'meinberlin_projects/project_container_detail.html')

    assert 'meinberlin_projectcontainers/includes/container_detail.html' \
        in (template.name for template in response.templates)
Ejemplo n.º 11
0
def test_detail_view(client, phase_factory, proposal_factory):
    phase, module, project, item = setup_phase(
        phase_factory, proposal_factory, phases.RequestPhase)
    url = item.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_budgeting/proposal_detail.html')
def test_edit_view(client, phase_factory):
    phase, module, project, item = setup_phase(
        phase_factory, None, CollectFeedbackPhase)
    initiator = module.project.organisation.initiators.first()
    url = component.get_base_url(project)
    client.login(username=initiator.email, password='******')
    response = client.get(url)
    assert_template_response(
        response, 'meinberlin_adminlog/project_adminlog.html')
Ejemplo n.º 13
0
def test_detail_view(client, phase_factory, topic_factory):
    phase, module, project, topic = setup_phase(
        phase_factory, topic_factory, phases.PrioritizePhase)
    url = topic.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_topicprio/topic_detail.html')
        assert response.status_code == 200
def test_detail_view(client, phase_factory, poll_factory, question_factory,
                     choice_factory):
    phase, module, project, item = setup_phase(phase_factory, poll_factory,
                                               phases.VotingPhase)
    question = question_factory(poll=item)
    choice_factory(question=question)
    url = project.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(response, 'meinberlin_polls/poll_detail.html')
Ejemplo n.º 15
0
def test_edit_view(client, phase_factory, maptopic_factory,
                   area_settings_factory):
    phase, module, project, item = setup_phase(phase_factory, maptopic_factory,
                                               PrioritizePhase)
    initiator = module.project.organisation.initiators.first()
    area_settings_factory(module=module)
    url = component.get_base_url(module)
    client.login(username=initiator.email, password='******')
    response = client.get(url)
    assert_template_response(
        response, 'meinberlin_maptopicprio/maptopic_dashboard_list.html')
Ejemplo n.º 16
0
def test_list_view(client, phase_factory, idea_factory):
    phase, module, project, idea = setup_phase(phase_factory, idea_factory,
                                               phases.FeedbackPhase)
    phase_2, module_2, project_2, idea_2 = setup_phase(phase_factory,
                                                       idea_factory,
                                                       phases.FeedbackPhase)
    url = project.get_absolute_url()

    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(response, 'meinberlin_ideas/idea_list.html')
        assert response.status_code == 200
        assert idea in response.context_data['idea_list']
        assert idea_2 not in response.context_data['idea_list']
        assert response.context_data['idea_list'][0].comment_count == 0
        assert response.context_data['idea_list'][0].positive_rating_count == 0
        assert response.context_data['idea_list'][0].negative_rating_count == 0
def test_edit_view(client, phase_factory):
    phase, module, project, idea = setup_phase(phase_factory, None,
                                               CollectFeedbackPhase)
    initiator = module.project.organisation.initiators.first()
    url = component.get_base_url(project)
    client.login(username=initiator.email, password='******')
    response = client.get(url)
    assert_template_response(response,
                             'meinberlin_projects/project_moderators.html')

    data = {
        'add_users': '[email protected],[email protected]',
    }
    response = client.post(url, data)
    assert redirect_target(response) == \
        'dashboard-{}-edit'.format(component.identifier)
    assert ModeratorInvite.objects.get(email='*****@*****.**')
    assert ModeratorInvite.objects.get(email='*****@*****.**')
Ejemplo n.º 18
0
def test_list_view(client, phase_factory, topic_factory):
    phase, module, project, topic = setup_phase(phase_factory, topic_factory,
                                                phases.PrioritizePhase)
    phase_2, module_2, project_2, topic_2 = setup_phase(
        phase_factory, topic_factory, phases.PrioritizePhase)
    url = project.get_absolute_url()

    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(response,
                                 'meinberlin_topicprio/topic_list.html')
        assert response.status_code == 200
        assert topic in response.context_data['topic_list']
        assert topic_2 not in response.context_data['topic_list']
        assert response.context_data['topic_list'][0].comment_count == 0
        assert (
            response.context_data['topic_list'][0].positive_rating_count == 0)
        assert (
            response.context_data['topic_list'][0].negative_rating_count == 0)
Ejemplo n.º 19
0
def test_statement_form_view(client, phase_factory, bplan_factory,
                             module_factory):
    bplan = bplan_factory(is_draft=False)
    module = module_factory(project=bplan)
    phase = phase_factory(phase_content=phases.StatementPhase(), module=module)
    url = bplan.get_absolute_url()
    with freeze_phase(phase):
        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_bplan/statement_create_form.html')

        statement = {
            'name': 'User',
            'email': '*****@*****.**',
            'street_number': "Some Street 1",
            'postal_code_city': "12345 City",
            'statement': 'Something...'
        }
        response = client.post(url, statement)
        assert redirect_target(response) == 'statement-sent'
def test_moderate_view(client, phase_factory, proposal_factory, user,
                       area_settings_factory):
    phase, module, project, item = setup_phase(
        phase_factory, proposal_factory, phases.RequestPhase)
    area_settings_factory(module=module)
    url = reverse('meinberlin_kiezkasse:proposal-moderate',
                  kwargs={'pk': item.pk,
                          'year': item.created.year})
    project.moderators.set([user])
    with freeze_phase(phase):
        client.login(username=user.email, password='******')

        response = client.get(url)
        assert_template_response(
            response, 'meinberlin_kiezkasse/proposal_moderate_form.html')

        data = {
            'moderator_feedback': 'test',
            'statement': 'its a statement'
        }
        response = client.post(url, data)
        assert redirect_target(response) == 'proposal-detail'
Ejemplo n.º 21
0
def test_creator_can_delete_in_active_phase(client, phase_factory,
                                            idea_factory):
    phase, module, project, idea = setup_phase(phase_factory, idea_factory,
                                               phases.IssuePhase)
    url = reverse('meinberlin_ideas:idea-delete',
                  kwargs={
                      'pk': idea.pk,
                      'year': idea.created.year
                  })
    with freeze_phase(phase):
        count = models.Idea.objects.all().count()
        assert count == 1
        client.login(username=idea.creator.email, password='******')
        response = client.get(url)
        assert response.status_code == 200
        assert_template_response(response,
                                 'meinberlin_ideas/idea_confirm_delete.html')
        response = client.post(url)
        assert redirect_target(response) == 'project-detail'
        assert response.status_code == 302
        count = models.Idea.objects.all().count()
        assert count == 0
Ejemplo n.º 22
0
def test_moderator_can_delete_in_wrong_phase(client, phase_factory,
                                             map_idea_factory):
    phase, module, project, mapidea = setup_phase(phase_factory,
                                                  map_idea_factory,
                                                  phases.RatingPhase)
    url = reverse('meinberlin_mapideas:mapidea-delete',
                  kwargs={
                      'pk': mapidea.pk,
                      'year': mapidea.created.year
                  })
    with freeze_phase(phase):
        count = models.MapIdea.objects.all().count()
        assert count == 1
        moderator = mapidea.module.project.moderators.first()
        client.login(username=moderator.email, password='******')
        response = client.get(url)
        assert response.status_code == 200
        assert_template_response(
            response, 'meinberlin_mapideas/mapidea_confirm_delete.html')
        response = client.post(url)
        assert redirect_target(response) == 'project-detail'
        assert response.status_code == 302
        count = models.MapIdea.objects.all().count()
        assert count == 0
def test_detail_view(client, plan_factory):
    plan = plan_factory()
    url = plan.get_absolute_url()
    response = client.get(url)
    assert_template_response(response, 'meinberlin_plans/plan_detail.html')
def test_list_view_no_district(client, plan_factory):
    plan_factory()
    plan_factory(district=None)
    url = reverse('meinberlin_plans:plan-list')
    response = client.get(url)
    assert_template_response(response, 'meinberlin_plans/plan_list.html')
def test_detail_view(client, offline_event):
    url = offline_event.get_absolute_url()
    response = client.get(url)
    assert_template_response(response,
                             'meinberlin_projects/project_detail.html')
Ejemplo n.º 26
0
def test_initiator_has_access(client):
    anonymous, moderator, initiator, url = setup_mapidea_moderation()
    assert client.login(username=initiator.email, password='******')
    resp = client.get(url)
    assert_template_response(resp,
                             'meinberlin_mapideas/mapidea_moderate_form.html')
Ejemplo n.º 27
0
def test_anonymount_has_no_access(client):
    anonymous, moderator, initiator, url = setup_mapidea_moderation()
    resp = client.get(url, follow=True)
    assert_template_response(resp, 'account/login.html')