def create_order(): """ Create a new order by placing products and client --- parameters: - in: header name: authorization required: true schema: type: string - in: query name: shop required: true schema: type: object parameters: id: type: integer - in: query name: total required: true schema: type: integer responses: 200: description: Successfully created the order schema: type: object parameters: message: type: string example: Success """ user = request.user shop = storage.get(User, user).shops[0] in_order = request.get_json() order = Order() order.date = str(datetime.utcnow()) order.description = json.dumps(in_order['shop']) order.total = in_order['total'] order.shop = shop.id order.origin = 'admin' client = storage.get(Client, shop.client) if client: order.client = client.id else: client = Client() client.username = shop.title client.email = storage.get(User, user).username client.phone = shop.phone order.client = client.id client.save() order.save() print() return jsonify(message='Success')
def test_create(self): """ test a single order creation """ shop = create_shop() order = Order() order.date = 'test_date' order.client = shop.client order.origin = 'test_admin' order.shop = shop.id order.total = 1000 order.description = '{"test_product": 4}' order.save() self.assertEqual(order.id, shop.orders[0].id) storage.delete(storage.get(User, shop.user)) storage.save() storage.close()
def test_description(self): """ test the description serialization """ shop = create_shop() order = Order() order.date = 'test_date' order.client = shop.client order.origin = 'test_admin' order.shop = shop.id product = create_product(shop) order.description = json.dumps({product.id: 3}) order.save() savedProds = order.products self.assertEqual(savedProds[product.id]['total'], 3000) storage.delete(storage.get(User, shop.user)) storage.save() storage.close()