示例#1
0
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
示例#2
0
    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
示例#3
0
 def name(self, value):
     self.__name = validator.validate_name(value)
示例#4
0
 def test_valid_username_uppercase(self):
     """ this testcase id for upppercase"""
     result = validate_name("CHRIS")
     self.assertEqual(result, "Valid Name")
示例#5
0
 def test_valid_username_lowercase(self):
     """ this testcase is for lowercase."""
     result = validate_name("chris")
     self.assertEqual(result, "Valid Name")
示例#6
0
 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")
示例#7
0
 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")