def test_save_answer(): create_tables() create_user() new_question = QuestionModel('My simple title', 'My simple question') new_question.save(1) samp_answer = AnswerModel("This is my sample answer") samp_answer.add_answer(1, 'lazarus') teardown()
def test_delete(): create_tables() create_user() new_question = QuestionModel('My simple title', 'My simple question') new_question.save(1) samp_answer = AnswerModel("This is my sample answer") samp_answer.add_answer(1, 'lazarus') answer = AnswerModel.find_by_id(1, 1) assert answer.delete(1) == True teardown()
def test_json(): create_tables() create_user() my_question = QuestionModel('Json title', 'Json description') my_question.save(1) question_query = QuestionModel.find_by_id(1) assert question_query.json() == { "title": 'Json title', "description": 'Json description' } teardown()
def test_delete(): """ GIVEN a new question saved WHEN a new query is passed for deletion THEN it should return True """ create_tables() create_user() new_question = QuestionModel('This is a sample title', 'This is a sample description') new_question.save(1) question = QuestionModel.find_by_id(1) assert question.delete() == True teardown()
def test_question_find_by_description(): """ Given a new question saved When a query is called by description Then a boolean is returned, check if the fields are correct """ create_tables() create_user() new_question = QuestionModel('This is a sample 1 title', 'This is a sample 1 description') new_question.save(1) #It's the first to be stored hence id == 1 question = QuestionModel.find_by_description( 'This is a sample 1 description') assert question == True teardown()
def test_question_find_by_id(): """ Given a new question saved When a query is called by id Then a new object should be returned, check if the fields are correct """ create_tables() create_user() new_question = QuestionModel('This is a sample 1 title', 'This is a sample 1 description') new_question.save(1) #It's the first to be stored hence id == 1 question = QuestionModel.find_by_id(1) assert question.title == 'This is a sample 1 title' new_question1 = QuestionModel('This is a sample 2 title', 'This is a sample 2 description') new_question1.save(1) question1 = QuestionModel.find_by_id(2) assert question1.title == 'This is a sample 2 title' teardown()
def post(self): data = QuestionList.parser.parse_args() #Get the identity of the currently logged in user identity = 0 if current_identity.id: identity = current_identity.id else: return {"message": "Login to continue"} #Check if a question with the same description exists #return an error message if it exists #else, save the new question and return a response if QuestionModel.find_by_description(data['description']): return { "message": "The question is already asked" }, 409 # Conflict(Duplicate) #Create a question object and pass the arguments question = QuestionModel(data["title"], data["description"]) response = question.save(identity) return response, 201