def test_register_user_with_missing_data_fails(self): form_data = { 'username': '******', 'email' : '*****@*****.**', 'first_name' : 'bob', 'last_name' : 'whatever', 'password1' : 'q!w$er^ty6ui7op', 'password2' : 'q!w$er^ty6ui7op' } # Remove each key-value from dictionary, assert form not valid for field in form_data.keys(): data = dict(form_data) del(data[field]) form = UserRegistrationForm(data) self.assertFalse(form.is_valid())
def test_register_user_with_username_already_in_db_fails(self): # Create a user with username bob bob = User(username='******', email='*****@*****.**') bob.save() # attempt to create another user with same username form_data = { 'username' : 'bob' , 'email' : '*****@*****.**', 'first_name' : 'bob', 'last_name' : 'whatever', 'password1' : 'q!w$er^ty6ui7op', 'password2' : 'q!w$er^ty6ui7op' } form = UserRegistrationForm(form_data) self.assertFalse(form.is_valid())
def test_register_user_with_password_mismatch_fails(self): form_data = { 'username': '******', 'email': '*****@*****.**', 'first_name': 'bob', 'last_name': 'whatever', 'password1': 'q!w$er^ty6ui7op', 'password2': 'dr%$ESwsdgdfh' } form = UserRegistrationForm(form_data) self.assertFalse(form.is_valid())
def test_register_user_with_valid_data_is_valid(self): form_data = { 'username': '******', 'email': '*****@*****.**', 'first_name': 'bob', 'last_name': 'whatever', 'password1': 'q!w$er^ty6ui7op', 'password2': 'q!w$er^ty6ui7op' } form = UserRegistrationForm(form_data) self.assertTrue(form.is_valid())
def test_register_user_with_email_already_in_db_case_insensitive_fails(self): # Create a user with username bob bob = User(username='******', email='*****@*****.**') bob.save() invalid_email = ['*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**', '*****@*****.**'] for invalid in invalid_email: # attempt to create another user with same username form_data = { 'username' : 'another_bob' , 'email' : invalid, 'first_name' : 'bob', 'last_name' : 'whatever', 'password1' : 'q!w$er^ty6ui7op', 'password2' : 'q!w$er^ty6ui7op' } form = UserRegistrationForm(form_data) self.assertFalse(form.is_valid())
def test_create_user_duplicate_email_fails(self): user = User(username='******', email='*****@*****.**', first_name='bob', last_name='bob') UserRegistrationForm(user) user2 = User(username='******', email='*****@*****.**', first_name='bob', last_name='bob') with self.assertRaises(IntegrityError): UserRegistrationForm(user2)
def test_create_user_duplicate_username_case_insensitive_fails(self): #fails user = User(username='******', email='*****@*****.**', first_name='bob', last_name='bob') UserRegistrationForm(user) user2 = User(username='******', email='*****@*****.**', first_name='bob', last_name='bob') with self.assertRaises(IntegrityError): UserRegistrationForm(user2)
def test_create_user_duplicate_username_fails(self): #fails user = { 'username': '******', 'first_name': 'bob', 'last_name': 'bob', 'email': '*****@*****.**', 'password1': '1234', 'password2': '1234' } form = UserRegistrationForm(user) form.save() user2 = { 'username': '******', 'first_name': 'bob', 'last_name': 'bob', 'email': '*****@*****.**', 'password1': '1234', 'password2': '1234' } form2 = UserRegistrationForm(user2) with self.assertRaises(ValueError): form2.save()
def test_create_user_all_fields_required(self): #fails # TODO is this testing the right thing? u = { 'username': '', 'first_name': '', 'last_name': '', 'email': '', 'password1': '', 'password2': '' } form = UserRegistrationForm(u) with self.assertRaises(ValueError): form.save() u = {'username': '******'} form = UserRegistrationForm(u) with self.assertRaises(ValueError): form.save() u = { 'username': '******', 'first_name': '', 'last_name': '', 'email': '*****@*****.**', 'password1': '', 'password2': '' } form = UserRegistrationForm(u) with self.assertRaises(ValueError): form.save() u = { 'username': '******', 'first_name': 'bob', 'last_name': '', 'email': '*****@*****.**', 'password1': '', 'password2': '' } form = UserRegistrationForm(u) with self.assertRaises(ValueError): form.save()