def create_category(user_id): #this function is used to create a category under a specific user_id category_name = str(request.data.get('category_name', '')).strip() if category_name: category_name = category_name.capitalize() name2 = Category.query.filter_by(created_by=user_id, category_name=category_name).first() if name2 is None: if validator.validate_name(category_name) != "Valid Name": return jsonify( {'message': 'name must not contain special charaters'}), 400 category = Category(category_name=category_name, created_by=user_id) category.save() response = jsonify({ 'category_id': category.category_id, 'category_name': category.category_name, 'date_created': category.date_created, 'data_modified': category.date_modified, 'created_by': user_id, "message": "Category Created" }) response.status_code = 201 return response else: return jsonify({'message': 'The name already exists. Try another'}) else: return jsonify({'message': 'Enter valid data'}), 422
def post(self): try: user = User.query.filter_by(email=request.data['email']).first() if not user: post_data = request.data # register the user email = post_data['email'].strip() username = post_data['username'].strip() password = post_data['password'].strip() if username and password and email: if validator.validate_name(username) != "Valid Name": return jsonify( {'message': 'please provide a valid username'}), 400 if validator.validate_password( password) != "Valid password": return jsonify({ 'message': 'please provide a strong valid password above six characters' }), 400 if validator.validate_email(email) != "Valid email": return jsonify( {'message': 'please provide a valid email'}), 400 user = User(username=username, password=password, email=email) user.save() response = { 'message': 'You registered successfully. Please log in.' } # return a response notifying the user that they registered well return make_response(jsonify(response)), 201 else: return jsonify({'message': 'all fields required'}), 400 else: # there is an existing user. we dont want to register twice # return a message to the user telling them that they already exist response = { 'message': 'User already exists. Please choose another username' } return make_response(jsonify(response)), 400 except Exception as e: # An error occured, therefore return a string message containg the error response = {'message': "Provide all the fields."} return make_response(jsonify(response)), 401
def name(self, value): self.__name = validator.validate_name(value)
def test_valid_username_uppercase(self): """ this testcase id for upppercase""" result = validate_name("CHRIS") self.assertEqual(result, "Valid Name")
def test_valid_username_lowercase(self): """ this testcase is for lowercase.""" result = validate_name("chris") self.assertEqual(result, "Valid Name")
def test_valid_username_withnumbers(self): """this testcase is used for username with both lowercase text and numbers""" result = validate_name("chris21") # assertion of the output value self.assertEqual(result, "Valid Name")
def test_valid_username(self): """ this testcase is for a username with uppercase and lowercase letters""" result = validate_name("Chris") # assertion to check for the result output self.assertEqual(result, "Valid Name")