Skip to content

Commit

Permalink
tests/moderation: add tests for budgeting moderation form
Browse files Browse the repository at this point in the history
  • Loading branch information
fuzzylogic2000 committed Nov 25, 2022
1 parent 1701030 commit 4a2367d
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/moderationtasks/conftest.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
from pytest_factoryboy import register

from meinberlin.test.factories.budgeting import ProposalFactory

from .factories import ModerationTaskFactory

register(ModerationTaskFactory)
register(ProposalFactory)
36 changes: 36 additions & 0 deletions tests/moderationtasks/test_mixins.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import pytest
from django import forms

from meinberlin.apps.budgeting.models import Proposal
from meinberlin.apps.moderationtasks.mixins import TasksAddableFieldMixin


class TaskForm(TasksAddableFieldMixin, forms.ModelForm):

class Meta:
model = Proposal
fields = ['completed_tasks']


@pytest.mark.django_db
def test_choice(module, moderation_task_factory, proposal_factory):
task1 = moderation_task_factory(module=module)
task2 = moderation_task_factory()
proposal = proposal_factory(module=module)

form = TaskForm(instance=proposal)
choice = form.fields['completed_tasks'].queryset.all()
assert task1 in choice
assert task2 not in choice


@pytest.mark.django_db
def test_show_labels(module, moderation_task_factory, proposal_factory):
proposal = proposal_factory(module=module)
moderation_task_factory()
form = TaskForm(instance=proposal)
assert not form.show_tasks()

moderation_task_factory(module=module)
form = TaskForm(instance=proposal)
assert form.show_tasks()

0 comments on commit 4a2367d

Please sign in to comment.