Esempio n. 1
0
 def test_delete_a_order(self):
     order = Order(0, "Tom", '200')
     order.save()
     self.assertEqual(len(Order.all()), 1)
     # delete the order and make sure it isn't in the database
     order.delete()
     self.assertEqual(len(Order.all()), 0)
Esempio n. 2
0
 def test_delete_a_order(self):
     """ Delete a Order """
     order = Order(0, "fido", "dog")
     order.save()
     self.assertEqual(len(Order.all()), 1)
     # delete the order and make sure it isn't in the database
     order.delete()
     self.assertEqual(len(Order.all()), 0)
Esempio n. 3
0
    def test_delete_an_order(self):
        """ Delete an Order """
        date = datetime.now()
        order = Order(customer_id=1, date=date, status = 'processing')
        order.save()
        self.assertEqual(len(Order.all()), 1)

        order.delete()
        self.assertEqual(len(Order.all()), 0)
Esempio n. 4
0
    def test_fetch_all_orders(self):
        """ Test fetching all Orders """
        date = datetime.now()
        order = Order(customer_id=1, date=date, status='processing')
        order.save()
        order2 = Order(customer_id=2, date=date, status = 'processing')
        order2.save()
        Order.all()

        self.assertEqual(len(Order.all()), 2)
Esempio n. 5
0
    def test_add_an_order(self):
        """ Create an Order and add it to the database """
        date = datetime.now()
        orders = Order.all()
        self.assertEqual(orders, [])
        order = Order(customer_id=1, date=date, status ='processing')
        self.assertEqual(order.id, None)
        order.save()

        self.assertEqual(order.id, 1)
        orders = Order.all()
        self.assertEqual(len(orders), 1)
Esempio n. 6
0
 def test_delete_a_order(self):
     """ Delete an order """
     order_item = OrderItem(product_id=1,
                            name="Protein Bar (12 Count)",
                            quantity=3,
                            price=69.00)
     order = Order(customer_id=1,
                   status=OrderStatus.RECEIVED,
                   order_items=[order_item])
     order.save()
     self.assertEqual(len(order.all()), 1)
     # delete the order and make sure it isn't in the database
     order.delete()
     self.assertEqual(len(order.all()), 0)
Esempio n. 7
0
 def test_add_a_order(self):
     # Create a order and add it to the database
     orders = Order.all()
     self.assertEqual(orders, [])
     order = Order(0, "Tom", '200')
     self.assertTrue(order != None)
     self.assertEqual(order.id, 0)
     order.save()
     # Asert that it was assigned an id and shows up in the database
     self.assertEqual(order.id, 1)
     orders = Order.all()
     self.assertEqual(len(orders), 1)
     self.assertEqual(orders[0].id, 1)
     self.assertEqual(orders[0].customer_name, "Tom")
     self.assertEqual(orders[0].amount_paid, '200')
 def get(self, order_id=None):
     if order_id is None:
         orders = Order.all()
         if not orders:
             return {
                 "ok": False,
                 "code": "404",
                 "message": "No orders are available yet"
             }, 200
         return {
             "ok": True,
             "code": "200",
             "data": [data.json for data in orders]
         }
     who_bought = db.order_maps.get(order_id, None)
     username = db.users.get(who_bought, None)
     # If the order is not associated to any user then it doesn't exist
     if who_bought is None or username is None:
         return {
             "ok": False,
             "code": "404",
             "message":
             "The order requested for doesn't exist in our database"
         }, 200
     # Find where a given order belongs to in an index that maps orders to users and positions in the user's order list
     order_batch = db.users.get(username).orders
     return order_batch, 200
Esempio n. 9
0
 def test_add_a_order(self):
     """ Create a order and add it to the database """
     orders = Order.all()
     self.assertEqual(orders, [])
     order = Order(0, "fido", "dog", True)
     self.assertTrue(order != None)
     self.assertEqual(order.id, 0)
     order.save()
     # Asert that it was assigned an id and shows up in the database
     self.assertEqual(order.id, 1)
     orders = Order.all()
     self.assertEqual(len(orders), 1)
     self.assertEqual(orders[0].id, 1)
     self.assertEqual(orders[0].name, "fido")
     self.assertEqual(orders[0].time, "dog")
     self.assertEqual(orders[0].status, True)
Esempio n. 10
0
 def test_add_an_order(self):
     """ Create an order with an item and add it to the database """
     orders = Order.all()
     self.assertEqual(orders, [])
     order_item = OrderItem(product_id=1,
                            name="Protein Bar (12 Count)",
                            quantity=3,
                            price=69.00)
     order = Order(customer_id=1,
                   status=OrderStatus.RECEIVED,
                   order_items=[order_item])
     self.assertTrue(order is not None)
     self.assertEqual(order.id, None)
     order.save()
     # Asert that it was assigned an id and shows up in the database
     self.assertEqual(order.id, 1)
     orders = Order.all()
     self.assertEqual(len(orders), 1)
Esempio n. 11
0
 def test_delete_all(self):
     order_item = OrderItem(product_id=1,
                            name="Protein Bar (12 Count)",
                            quantity=3,
                            price=69.00)
     order = Order(customer_id=1,
                   status=OrderStatus.RECEIVED,
                   order_items=[order_item])
     order.save()
     order.delete_all()
     self.assertEqual(len(order.all()), 0)
Esempio n. 12
0
    def test_find_orders_since(self):
        """ Find an order since a date """
        for _ in list(range(5)):
            Order(customer_id=1, status=OrderStatus.RECEIVED).save()

        # create old order
        Order(customer_id=1,
              status=OrderStatus.RECEIVED,
              order_date=datetime.today() - timedelta(weeks=52)).save()

        self.assertEqual(len(Order.all()), 6)
        yesterday = date.today() - timedelta(days=1)
        self.assertEqual(len(Order.find_since(yesterday)), 5)
Esempio n. 13
0
    def test_update_an_order(self):
        """ Update an Order """
        date = datetime.now()
        order = Order(customer_id=1, date=date, status = 'processing')
        order.save()
        self.assertEqual(order.id, 1)

        order.shipped = False
        order.save()

        orders = Order.all()
        self.assertEqual(len(orders), 1)
        self.assertEqual(orders[0].status, 'processing')
Esempio n. 14
0
 def get(self, order_id=None):
     """Get all orders if order_id is None otherwise get a specific order"""
     details1 = details(claims)
     if order_id is None:
         orders = Order.all()
         result = [order.json for order in orders]
         return {"message": "success", "orders": result}, 200
     order_current = Order.find_by_id(ids=order_id,
                                      user_id=details1.get("id", "1"))
     if not order_current:
         return {
             "message": "The order with id %s is not available" % order_id
         }, 404
     return order_current.json1
Esempio n. 15
0
def list_orders():
    """ Returns all of the Orders """
    orders = []
    time = request.args.get('time')
    name = request.args.get('name')
    if time:
        orders = Order.find_by_time(time)
    elif name:
        orders = Order.find_by_name(name)
    else:
        orders = Order.all()

    results = [order.serialize() for order in orders]
    return make_response(jsonify(results), status.HTTP_200_OK)
Esempio n. 16
0
 def test_update_a_order(self):
     order = Order(0, "Tom", '200')
     order.save()
     self.assertEqual(order.id, 1)
     # Change it an save it
     order.amount_paid = '700'
     order.save()
     self.assertEqual(order.id, 1)
     # Fetch it back and make sure the id hasn't changed
     # but the data did change
     orders = Order.all()
     self.assertEqual(len(orders), 1)
     self.assertEqual(orders[0].amount_paid, '700')
     self.assertEqual(orders[0].customer_name, "Tom")
Esempio n. 17
0
 def test_update_a_order(self):
     """ Update a Order """
     order = Order(0, "fido", "dog", True)
     order.save()
     self.assertEqual(order.id, 1)
     # Change it an save it
     order.time = "k9"
     order.save()
     self.assertEqual(order.id, 1)
     # Fetch it back and make sure the id hasn't changed
     # but the data did change
     orders = Order.all()
     self.assertEqual(len(orders), 1)
     self.assertEqual(orders[0].time, "k9")
     self.assertEqual(orders[0].name, "fido")
Esempio n. 18
0
 def get(self, order_id=None):
     """Get orders if not order_id is provided otherwise get a given order if it belongs to the user"""
     customer_id = details(claims).get("id", "")
     if order_id is None:
         orders = Order.all(user_id=customer_id, user_type=1)
         if not orders:
             return {"message": "You don't currently have any orders"}, 404
         orders = [order.json for order in orders]
         return {"message": "success", "orders": orders}
     order = Order.find_by_id(ids=order_id, user_id=customer_id)
     if not order:
         return {
             "message": "The order was not found in the database "
             ".Try again"
         }, 404
     return {"message": "success", "order": order.json1}, 200
Esempio n. 19
0
 def test_update_an_order(self):
     """ Update an Order """
     order_item = OrderItem(product_id=1,
                            name="Protein Bar (12 Count)",
                            quantity=3,
                            price=69.00)
     order = Order(customer_id=1,
                   status=OrderStatus.RECEIVED,
                   order_items=[order_item])
     order.save()
     self.assertEqual(order.id, 1)
     # Change it an save it
     order.status = OrderStatus.PROCESSING
     order.save()
     self.assertEqual(order.id, 1)
     # Fetch it back and make sure the id hasn't changed
     # but the data did change
     orders = Order.all()
     self.assertEqual(len(orders), 1)
     self.assertEqual(orders[0].status, OrderStatus.PROCESSING)
def list_orders():
    """ Returns all of the Orders
    ---
    tags:
      - Orders
    description: The Orders endpoint allows you to query Orders
    parameters:
      - name: customer_id
        in: query
        description: the customer_id of the Order you are looking for
        required: false
        type: integer
      - name: status
        in: query
        description: the status of the Order
        required: false
        type: string
      - name: date
        in: query
        description: the Order date
        required: false
        type: string
    definitions:
      Order:
        type: object
        properties:
          id:
            type: integer
            description: unique id assigned internally by service
          customer_id:
            type: integer
            description: the customer id for the order
          status:
            type: string
            description: the order status
          date:
            type: string
            description: the date of the order
    responses:
      200:
        description: An array of Orders
        schema:
          type: array
          items:
            schema:
              $ref: '#/definitions/Order'
    """
    orders = []
    customer_id = request.args.get('customer_id')
    order_status = request.args.get('status')
    date = request.args.get('date')

    if customer_id:
        orders = Order.find_by_customer_id(customer_id)
    elif order_status:
        orders = Order.find_by_status(order_status)
    elif date:
        orders = Order.find_by_date(date)
    else:
        orders = Order.all()

    results = [order.serialize() for order in orders]
    return make_response(jsonify(results), status.HTTP_200_OK)
Esempio n. 21
0
 def get(self):
     orders = Order.all()
     result = orderSchema.dump(orders, many=True)
     return result
Esempio n. 22
0
 def test_get_all_orders(self):
     """ Get all orders """
     orders = Order.all()
     self.assertEqual(orders, [])