Skip to content
Snippets Groups Projects
test_admin_views.py 1.48 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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)