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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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')
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
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)
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")
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")
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
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)
def get(self): orders = Order.all() result = orderSchema.dump(orders, many=True) return result
def test_get_all_orders(self): """ Get all orders """ orders = Order.all() self.assertEqual(orders, [])