Newer
Older
from django.test import TestCase
from django.urls import reverse
from opentech.apply.users.tests.factories import SuperUserFactory
from opentech.apply.home.factories import ApplyHomePageFactory
from .test_admin_form import form_data
class TestFundCreationView(TestCase):
@classmethod
def setUpTestData(cls):
cls.user = SuperUserFactory()
cls.home = ApplyHomePageFactory()
def create_page(self, forms=1, same_forms=False):
self.client.force_login(self.user)
url = reverse('wagtailadmin_pages:add', args=('funds', 'fundtype', self.home.id))
data = form_data(forms, same_forms=same_forms, stages=forms)
data['action-publish'] = True
response = self.client.post(url, data=data, secure=True, follow=True)
self.assertContains(response, 'success')
self.home.refresh_from_db()
fund = self.home.get_children().first()
return fund.specific
def test_can_create_fund(self):
fund = self.create_page()
self.assertEqual(fund.forms.count(), 1)
self.assertEqual(fund.review_forms.count(), 1)
def test_can_create_multi_phase_fund(self):
fund = self.create_page(2)
self.assertEqual(fund.forms.count(), 2)
self.assertEqual(fund.review_forms.count(), 2)
def test_can_create_multi_phase_fund_reuse_forms(self):
fund = self.create_page(2, same_forms=True)
self.assertEqual(fund.forms.count(), 2)
self.assertEqual(fund.review_forms.count(), 2)