def test_add_user(self): """ Method checks that add user method actually adds a user to the database """ _pword = "test" user = User(email='*****@*****.**', password=_pword, fname='Fname', lname="Lname") check = user.save_user() self.assertTrue(check, "User should be added") self.assertTrue( user.id, "User doesnot contain id so he is not added to the db" )
def test_no_repeated_users_added(self): """ Method checks that add user method actually adds a user to the database """ _pword = "test" user = User(email='*****@*****.**', password=_pword) check = user.save_user() self.assertFalse(check, "User should already exist") self.assertFalse( user.id, "User doesnot contain id so he is not added to the db" )
def post(self): """ Handles post requests for registration of a new user """ post_data = request.get_json() fname = strip_white_space(post_data.get('fname')) or None lname = strip_white_space(post_data.get('lname')) or None email = strip_white_space(post_data.get('email'), skip_check_symbols=True) or None password = strip_white_space(post_data.get('password')) or None if not validate_email(email): return abort(400, 'Invalid Email Address') if not fname or not lname or not fname.isalpha() or not lname.isalpha( ): return abort(400, "First and last name must be provided") if not password: return abort(400, "Password must be provided") user = User(email=email, fname=fname.capitalize(), lname=lname.capitalize(), password=password) try: check = user.save_user() if check: auth_token = user.generate_authentication_token() user_data = dict(data=marshal(user, USER)) response = { 'status': 'success', 'message': 'Successfully Registered', 'auth_token': auth_token.decode('utf-8') } response.update(user_data) return response, 201 else: response = {'status': 'fail', 'message': 'User Exists'} return response, 409 except Exception as e: return abort(500, 'Error creating your account:{}'.format(e))