def test_form_fails_on_national_id_duplicate(self):
     user = User.objects.create(username=USERNAME,
                                email=EMAIL,
                                password=PASSWORD)
     natid = NationalId.objects.create(id_number=ID_NUMBER, user=user)
     form = RegistrationForm(data=TEST_DATA)
     form.save()
     self.assertTrue(
         form.has_error('national_id_number', 'national_id_exists'))
 def test_birth_date_validation_pass(self):
     VALID_DATA = TEST_DATA.copy()
     VALID_DATA['birth_date'] = MOCK_BIRTH_DATE_PASS.strftime('%Y-%m-%d')
     form = RegistrationForm(data=VALID_DATA)
     form.save()
     self.assertFalse(form.has_error('birth_date', 'age_restricted'))
 def test_all_fields_are_required(self):
     form = RegistrationForm(data={'wrong': 'data'})
     form.save()
     self.assertTrue(
         all([form.has_error(f, 'required') for f in form.fields]))
 def test_birth_date_validation_fails(self):
     INVALID_DATA = TEST_DATA.copy()
     INVALID_DATA['birth_date'] = MOCK_BIRTH_DATE_FAIL.strftime('%Y-%m-%d')
     form = RegistrationForm(data=INVALID_DATA)
     form.save()
     self.assertTrue(form.has_error('birth_date', 'age_restricted'))
 def test_password_validation_fails_if_passwords_are_different(self):
     INVALID_DATA = TEST_DATA.copy()
     INVALID_DATA['password2'] = 'testpassword2'
     form = RegistrationForm(data=INVALID_DATA)
     form.save()
     self.assertTrue(form.has_error('password2', 'password_mismatch'))