Example #1
0
 def test_clean_email_no_change(self):
     """Ensure valid if no change in email """
     partner = PartnerFactory()
     staff = PartnerStaffFactory(
         partner=partner,
         email="*****@*****.**",
     )
     form = forms.PartnerStaffMemberForm(self.data, instance=staff)
     self.assertTrue(form.is_valid())
Example #2
0
 def test_clean_not_active(self):
     """Staff member needs to be active"""
     self.data["active"] = False
     form = forms.PartnerStaffMemberForm(self.data)
     self.assertFalse(form.is_valid())
     self.assertIn("active", form.errors.keys())
     self.assertEqual(
         form.errors["active"],
         ["New Staff Member needs to be active at the moment of creation"]
     )
Example #3
0
 def test_clean_activate(self):
     """If staff member made active, ensure user not already associated
     with another partner
     """
     UserFactory(email="*****@*****.**")
     partner = PartnerFactory()
     staff = PartnerStaffFactory(
         partner=partner,
         email="*****@*****.**",
         active=False
     )
     form = forms.PartnerStaffMemberForm(self.data, instance=staff)
     self.assertTrue(form.is_valid())
Example #4
0
 def test_clean_email_change(self):
     """Email address may not be changed"""
     self.data["email"] = "*****@*****.**"
     partner = PartnerFactory()
     staff = PartnerStaffFactory(
         partner=partner,
         email="*****@*****.**",
     )
     form = forms.PartnerStaffMemberForm(self.data, instance=staff)
     self.assertFalse(form.is_valid())
     self.assertIn(
         "User emails cannot be changed, please remove the user and add another one: [email protected]",
         form.errors["__all__"]
     )
Example #5
0
 def test_clean_duplicate_email(self):
     """Duplicate email not allowed if user associated as staff member"""
     profile = ProfileFactory(
         partner_staff_member=10,
     )
     self.data["email"] = profile.user.email
     form = forms.PartnerStaffMemberForm(self.data)
     self.assertFalse(form.is_valid())
     self.assertIn(
         "This user already exists under a different partnership: {}".format(
             profile.user.email
         ),
         form.errors["__all__"]
     )
Example #6
0
 def test_clean_activate_invalid(self):
     """If staff member made active, invalid if user already associated
     with another partner
     """
     profile = ProfileFactory(
         partner_staff_member=10,
     )
     partner = PartnerFactory()
     staff = PartnerStaffFactory(
         partner=partner,
         email=profile.user.email,
         active=False
     )
     self.data["email"] = profile.user.email
     form = forms.PartnerStaffMemberForm(self.data, instance=staff)
     self.assertFalse(form.is_valid())
     self.assertIn(
         "The Partner Staff member you are trying to activate is associated with a different partnership",
         form.errors["active"]
     )
Example #7
0
 def test_clean_duplicate_email_no_profile(self):
     """Duplicate emails are ok, if user not staff member already"""
     UserFactory(email="*****@*****.**")
     form = forms.PartnerStaffMemberForm(self.data)
     self.assertTrue(form.is_valid())
Example #8
0
 def test_form(self):
     form = forms.PartnerStaffMemberForm(self.data)
     self.assertTrue(form.is_valid())