def test_given_initial_set_up_when_post_questions_then_database_updated( self): test_date = datetime.datetime.now().date() payload = { "question_text": "test question post", "pub_date": str(test_date) } rv = self.client.post('/polls/questions/', data=json.dumps(payload), content_type='application/json') self.assertDictEqual( { "question_text": "test question post", "id": 1, "pub_date": str(test_date) }, json.loads(rv.data.decode())) questions = Question.select() for question in questions: self.assertDictEqual( { "question_text": "test question post", "id": 1, "pub_date": str(test_date) }, { 'question_text': question.question_text, 'id': question.id, 'pub_date': question.pub_date.strftime('%Y-%m-%d') })
def questions(): try: if request.method == 'POST': app.logger.debug("request:form {}".format( json.dumps(request.get_json()))) question_text = request.json["question_text"] pub_date = datetime.strptime(request.json['pub_date'], '%Y-%m-%d') question = Question(question_text=question_text, pub_date=pub_date) question.save() resp = { 'question_text': question.question_text, 'id': question.id, 'pub_date': question.pub_date.strftime('%Y-%m-%d') } return json.dumps(resp) if request.method == 'GET': questions = Question.select() l = [] for question in questions: l.append({ 'question_text': question.question_text, 'id': question.id, 'pub_date': question.pub_date.strftime('%Y-%m-%d') }) return json.dumps(l) except Exception as ex: app.logger.error("questions {}".format(repr(ex))) raise ex