Skip to content
Snippets Groups Projects
Commit e2770c66 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Update the tests to account for the addition of leads

parent e28ec897
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,7 @@ from opentech.apply.funds.models import (
Round,
RoundForm,
)
from opentech.apply.users.tests.factories import UserFactory
from . import blocks
......@@ -82,6 +83,7 @@ class RoundFactory(wagtail_factories.PageFactory):
title = factory.Sequence('Round {}'.format)
start_date = factory.LazyFunction(datetime.date.today)
end_date = factory.LazyFunction(lambda: datetime.date.today() + datetime.timedelta(days=7))
lead = factory.SubFactory(UserFactory, is_staff=True)
class RoundFormFactory(AbstractRelatedFormFactory):
......
......@@ -147,6 +147,7 @@ class TestRoundModelWorkflowAndForms(TestCase):
self.round = RoundFactory.build()
self.round.parent_page = self.fund
self.round.lead = RoundFactory.lead.get_factory()(**RoundFactory.lead.defaults)
self.fund.add_child(instance=self.round)
......@@ -235,7 +236,8 @@ class TestFormSubmission(TestCase):
def test_can_submit_if_new(self):
self.submit_form()
self.assertEqual(self.User.objects.count(), 1)
# Lead + applicant
self.assertEqual(self.User.objects.count(), 2)
new_user = self.User.objects.get(email=self.email)
self.assertEqual(new_user.get_full_name(), self.name)
......@@ -246,7 +248,8 @@ class TestFormSubmission(TestCase):
self.submit_form()
self.submit_form()
self.assertEqual(self.User.objects.count(), 1)
# Lead + applicant
self.assertEqual(self.User.objects.count(), 2)
user = self.User.objects.get(email=self.email)
self.assertEqual(ApplicationSubmission.objects.count(), 2)
......@@ -257,9 +260,10 @@ class TestFormSubmission(TestCase):
# Someone else submits a form
self.submit_form(email='another@email.com')
self.assertEqual(self.User.objects.count(), 2)
# Lead + 2 x applicant
self.assertEqual(self.User.objects.count(), 3)
first_user, second_user = self.User.objects.all()
_, first_user, second_user = self.User.objects.all()
self.assertEqual(ApplicationSubmission.objects.count(), 2)
self.assertEqual(ApplicationSubmission.objects.first().user, first_user)
self.assertEqual(ApplicationSubmission.objects.last().user, second_user)
......@@ -267,11 +271,13 @@ class TestFormSubmission(TestCase):
def test_associated_if_logged_in(self):
user, _ = self.User.objects.get_or_create(email=self.email, defaults={'full_name': self.name})
self.assertEqual(self.User.objects.count(), 1)
# Lead + Applicant
self.assertEqual(self.User.objects.count(), 2)
self.submit_form(email=self.email, name=self.name, user=user)
self.assertEqual(self.User.objects.count(), 1)
# Lead + Applicant
self.assertEqual(self.User.objects.count(), 2)
self.assertEqual(ApplicationSubmission.objects.count(), 1)
self.assertEqual(ApplicationSubmission.objects.first().user, user)
......@@ -280,12 +286,14 @@ class TestFormSubmission(TestCase):
def test_errors_if_blank_user_data_even_if_logged_in(self):
user, _ = self.User.objects.get_or_create(email=self.email, defaults={'full_name': self.name})
self.assertEqual(self.User.objects.count(), 1)
# Lead + applicant
self.assertEqual(self.User.objects.count(), 2)
response = self.submit_form(email='', name='', user=user)
self.assertContains(response, 'This field is required')
self.assertEqual(self.User.objects.count(), 1)
# Lead + applicant
self.assertEqual(self.User.objects.count(), 2)
self.assertEqual(ApplicationSubmission.objects.count(), 0)
......
from django.contrib.auth import get_user_model
import factory
class UserFactory(factory.DjangoModelFactory):
class Meta:
model = get_user_model()
email = factory.Sequence('email{}@email.com'.format)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment