diff --git a/armstrong/apps/donations/models.py b/armstrong/apps/donations/models.py index e3e8aef..d532765 100644 --- a/armstrong/apps/donations/models.py +++ b/armstrong/apps/donations/models.py @@ -28,6 +28,7 @@ class Donor(models.Model): related_name="mailing_addresses", null=True, blank=True) # TODO: Make sure form widget is USPhoneNumberField phone = models.CharField(max_length=10, null=True, blank=True) + email = models.EmailField(null=True, blank=True) def save(self, **kwargs): if self.user: diff --git a/armstrong/apps/donations/tests/forms.py b/armstrong/apps/donations/tests/forms.py index 08a65f6..e097d8c 100644 --- a/armstrong/apps/donations/tests/forms.py +++ b/armstrong/apps/donations/tests/forms.py @@ -51,13 +51,19 @@ def test_saves_user_if_user_pk_is_submitted(self): self.assertEqual(user.pk, donation.donor.user.pk) def test_behaves_if_an_empty_user_pk_is_given(self): - user = self.random_user data = self.get_base_random_data() data["user_pk"] = "" form = forms.BaseDonationForm(data) donation = form.save() self.assertEqual(None, donation.donor.user) + def test_saves_email_if_submitted(self): + data = self.get_base_random_data() + data["email"] = "bob@example.com" + form = forms.BaseDonationForm(data) + donation = form.save() + self.assertEqual("bob@example.com", donation.donor.email) + def test_saves_user_if_user_pk_is_submitted_on_prefixed_form(self): prefix = "prefix%d" % random.randint(100, 200) user = self.random_user