Exemplo n.º 1
0
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')
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
 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()