Ejemplo n.º 1
0
 def test_delete_a_payment(self):
     """ Delete a Payment """
     payment = Payment(order_id="1",
                       customer_id="1",
                       available=True,
                       payments_type="credit card")
     payment.save()
     self.assertEqual(len(Payment.all()), 1)
     # delete the pet and make sure it isn't in the database
     payment.delete()
     self.assertEqual(len(Payment.all()), 0)
Ejemplo n.º 2
0
 def test_add_a_payment(self):
     """ Create a payment and add it to the database """
     payments = Payment.all()
     self.assertEqual(payments, [])
     payment = Payment(order_id="1",
                       customer_id="1",
                       available=True,
                       payments_type="credit card")
     self.assertTrue(payment is not None)
     self.assertEqual(payment.id, None)
     payment.save()
     # Asert that it was assigned an id and shows up in the database
     self.assertEqual(payment.id, 1)
     payments = Payment.all()
     self.assertEqual(len(payments), 1)
Ejemplo n.º 3
0
def create_payments():
    """
    Creates a Payment
    This endpoint will create a Payment based the data in the body that is posted
    """
    app.logger.info('Request to create a payments')
    check_content_type('application/json')
    payment = Payment()
    payment.deserialize(request.get_json())
    payment.save()
    message = payment.serialize()
    location_url = url_for('get_payments', payments_id=payment.id, _external=True)
    return make_response(jsonify(message), status.HTTP_201_CREATED,
                         {
                             'Location': location_url
                         })
Ejemplo n.º 4
0
 def test_find_a_payment(self):
     """ Find a payment by ID"""
     payment = Payment(order_id="1",
                       customer_id="1",
                       available=True,
                       payments_type="credit card")
     payment.save()
     #adding extra row in case the find method return something randomly
     Payment(order_id="2",
             customer_id="2",
             available=False,
             payments_type="paypal").save()
     self.assertTrue(payment is not None)
     self.assertIsNot(payment.id, None)
     new_payment = Payment.find(payment.id)
     self.assertEqual(new_payment.id, payment.id)
Ejemplo n.º 5
0
    def post(self):
        """Creates a payment.

        This endpoint will create a payment based on the data
        posted in the body.
        """
        app.logger.info('Request to Create a Payment')  # pylint: disable=no-member
        check_content_type('application/json')
        payment = Payment()
        app.logger.debug('Payload = %s', api.payload)  # pylint: disable=no-member
        data = api.payload
        # Still use jsonschema to validate data.
        jsonschema.validate(data, PAYMENT_SCHEMA)
        payment.deserialize(data)
        payment.save()
        app.logger.info('Payment with new id [%s] saved!', payment.id)  # pylint: disable=no-member
        location_url = api.url_for(PaymentResource,
                                   payment_id=payment.id,
                                   _external=True)
        return payment.serialize(), status.HTTP_201_CREATED, {
            'Location': location_url
        }
Ejemplo n.º 6
0
 def test_find_a_payment(self):
     """ Find a payment by ID """
     saved_payment = Payment(
         order_id="1",
         customer_id="1",
         available=True,
         type="credit card",
         info=self._test_credit_card_info)
     saved_payment.save()
     # adding extra row in case the find method return something randomly
     Payment(
         order_id="2",
         customer_id="2",
         available=False,
         type="paypal",
         info=self._test_paypal_info).save()
     payment = Payment.find(saved_payment.id)
     self.assertIsNot(payment, None)
     self.assertEqual(payment.id, saved_payment.id)
     self.assertEqual(payment.order_id, saved_payment.order_id)
     self.assertEqual(payment.customer_id, saved_payment.customer_id)
     self.assertEqual(payment.available, saved_payment.available)
     self.assertEqual(payment.type, saved_payment.type)
     self.assertEqual(payment.info, saved_payment.info)