def test_find_by_id(self):
     promo = Promotion()
     promo.save()
     promo_id = promo.id
     fake_id = promo_id - 1
     test = Promotion.find_by_id(promo_id)
     self.assertIsNotNone(test)
     self.assertEqual(test.id, promo_id)
     failtest = Promotion.find_by_id(fake_id)
     self.assertIsNone(failtest)
 def delete(self, promo_id):
     '''Delete a specific Promotion'''
     flask_app.logger.info('Request to Delete a promotion with id [%s]', id)
     promo = Promotion.find_by_id(promo_id)
     if promo:
         promo.delete()
     return make_response('', 204)
 def get(self, promo_id):
     '''Returns all Promotions'''
     promo = Promotion.find_by_id(promo_id)
     print("PROMO:", promo)
     if not promo:
         info = 'Promotion with id: {} was not found'.format(promo_id)
         flask_app.logger.info(info)
         return make_response(jsonify(error=info), 404)
     flask_app.logger.info(
         "GET promotion with id: {} success".format(promo_id))
     return make_response(jsonify(promo.serialize()), 200)
 def put(self, promo_id):
     '''Update a single promotion'''
     check_content_type('application/json')
     promo = Promotion.find_by_id(promo_id)
     if not promo:
         info = 'Promotion with id: {} was not found'.format(promo_id)
         flask_app.logger.info(info)
         return make_response(jsonify(error=info), 404)
     promo.deserialize(api.payload)
     promo.save()
     flask_app.logger.info('Update Success')
     return make_response(jsonify(promo.serialize()), 200)