예제 #1
0
 def test_0a_1_2_3_MyModel(self):
     product = Product(name="Cheese",
                       price=50.4,
                       quantity=7.89,
                       code=789456611)
     self.assertEqual(
         product.simple(), {
             "id": None,
             "name": "Cheese",
             "price": 50.4,
             "quantity": 7.89,
             "code": 789456611
         })
     product.insert()
     self.assertEqual(
         product.simple(), {
             "name": "Cheese",
             "price": 50.4,
             "quantity": 7.89,
             "code": 789456611,
             "id": 1
         })
     #prod = Product(name="789",price=123,seller_id=1)
     #self.assertEqual(prod.simple(),{"name":"789","price":123,
     #	"seller_id":1,"id":None,"in_stock":None,"seller":None})
     #prod.insert()
     #self.assertEqual(prod.simple(),{"name":"789","price":123,
     #	"seller_id":1,"id":1,"in_stock":True})
     #prod.delete()
     product.delete()
     print("Test 0a_1_2_3 : MyModel: success")
예제 #2
0
 def test_0a_1_4_1_MyModel(self):
     # Testing update
     # Creating the product
     product_to_del = Product(name="Cheese",
                              price=50.4,
                              quantity=7.89,
                              id=10000000,
                              code=789456611)
     product_to_del.insert()
     product_dict = get_dict(product_to_del, id=True, dangerous=True)
     self.assertEqual(
         product_dict, {
             "id": 1,
             "name": "Cheese",
             "price": 50.4,
             "quantity": 7.89,
             "code": 789456611
         })
     product_to_del.update(id=14,
                           name="QUU",
                           price=90,
                           quantity=7000,
                           code=0)
     product_dict = get_dict(product_to_del, id=True, dangerous=True)
     self.assertEqual(product_dict, {
         "id": 1,
         "name": "QUU",
         "price": 90,
         "quantity": 7000,
         "code": 0
     })
     product_to_del.delete()
     print("Test 0a_1_4_1 : MyModel: update")
예제 #3
0
    def test_a_3_012_order_relationship_product_delete(self):
        p_before = len(Product.query.all())
        #Creating the product to be deleted
        product_del = Product(name="Spoon",
                              price="5",
                              in_stock=True,
                              seller_id=1)
        product_del.insert()
        p_del_id = product_del.id
        p_after = len(Product.query.all())
        self.assertEqual(p_after, p_before + 1)

        o_before = len(Order.query.all())
        #Creating orders to be deleted
        o_del_1 = Order(user_id=1, product_id=p_del_id, amount=1)
        o_del_2 = Order(user_id=1, product_id=p_del_id, amount=1)
        o_del_3 = Order(user_id=1, product_id=p_del_id, amount=1)
        o_del_4 = Order(user_id=1, product_id=p_del_id, amount=1)
        o_del_1.insert()
        o_del_2.insert()
        o_del_3.insert()
        o_del_4.insert()
        self.assertEqual(len(Order.query.all()), o_before + 4)

        #Making the delete action
        product_del.delete()
        o_after = len(Order.query.all())

        #Testing values
        self.assertEqual(len(Product.query.all()), p_before)
        self.assertEqual(o_before, o_after)
        self.assertEqual(
            len(Order.query.filter(Order.product_id == p_del_id).all()), 0)

        print("Test a_3_12:order relationship_product_delete")
예제 #4
0
 def test_0a_1_2_3_MyModel(self):
     user = User(username="******", password="******")
     self.assertEqual(user.simple(), {"username": "******", "id": None})
     user.insert()
     self.assertEqual(user.simple(), {"username": "******", "id": 1})
     prod = Product(name="789", price=123, seller_id=1)
     self.assertEqual(
         prod.simple(), {
             "name": "789",
             "price": 123,
             "seller_id": 1,
             "id": None,
             "in_stock": None,
             "seller": None
         })
     prod.insert()
     self.assertEqual(prod.simple(), {
         "name": "789",
         "price": 123,
         "seller_id": 1,
         "id": 1,
         "in_stock": True
     })
     prod.delete()
     user.delete()
     print("Test 0a_1_2_3 : MyModel: success")
예제 #5
0
 def test_delete_a_product(self):
     """ Delete a Product """
     p = Product(0, 'Asus2500', 'Laptop', '234', 'laptop', 'blue', 4)
     p.save()
     self.assertEqual(len(Product.all()), 1)
     # delete the product and make sure it isn't in the database
     p.delete()
     self.assertEqual(len(Product.all()), 0)
예제 #6
0
    def test_0a_1_3_1_MyModel(self):
        db_drop_and_create_all()
        # Creating the user
        user_to_del = User(username="******", password="******")
        db.session.add(user_to_del)
        db.session.commit()
        self.assertEqual(len(User.query.all()), 1)

        prod_to_del1 = Product(name="abc", price=456, seller_id=user_to_del.id)
        prod_to_del2 = Product(name="abcdef",
                               price=4567,
                               seller_id=user_to_del.id)
        db.session.add_all([prod_to_del1, prod_to_del2])
        db.session.commit()
        self.assertEqual(len(Product.query.all()), 2)

        order_to_del1 = Order(user_id=user_to_del.id,
                              product_id=prod_to_del1.id,
                              amount=1)
        order_to_del2 = Order(user_id=user_to_del.id,
                              product_id=prod_to_del2.id,
                              amount=3)
        order_to_del3 = Order(user_id=user_to_del.id,
                              product_id=prod_to_del2.id,
                              amount=5)
        db.session.add_all([order_to_del1, order_to_del2, order_to_del3])
        db.session.commit()
        self.assertEqual(len(Order.query.all()), 3)

        #img_to_delete1=Image(seller_id=1,name="abc",formatting = "png")
        #img_to_delete2=Image(seller_id=1,name="abce",formatting = "jpg")
        #db.session.add_all([img_to_delete1,img_to_delete2])
        #db.session.commit()
        #self.assertEqual(len(Image.query.all()),2)

        # Trying to delete

        #img_to_delete2.delete()
        #self.assertEqual(len(Image.query.all()),1)
        order_to_del3.delete()
        self.assertEqual(len(Order.query.all()), 2)
        prod_to_del2.delete()
        self.assertEqual(len(Order.query.all()), 1)
        self.assertEqual(len(Product.query.all()), 1)
        user_to_del.delete()
        #self.assertEqual(len(Image.query.all()),0)
        self.assertEqual(len(Order.query.all()), 0)
        self.assertEqual(len(Product.query.all()), 0)
        self.assertEqual(len(User.query.all()), 0)

        print("Test 0a_1_3_1 : MyModel: relationships")
예제 #7
0
    def test_0a_1_3_1_MyModel(self):
        db_drop_and_create_all()
        # Creating the product
        product_to_del = Product(name="Cheese",
                                 price=50.4,
                                 quantity=7.89,
                                 id=10000000,
                                 code=789456611)
        product_to_del.insert()
        #self.assertEqual(len(session.query(Product).all()),1)
        self.assertEqual(len(Product.query().all()), 1)
        """prod_to_del1 = Product(name = "abc",price=456,seller_id=user_to_del.id)
		prod_to_del2 = Product(name = "abcdef",price=4567,seller_id=user_to_del.id)
		db.session.add_all([prod_to_del1,prod_to_del2])
		db.session.commit()
		self.assertEqual(len(Product.query.all()),2)

		order_to_del1 = Order(
			user_id = user_to_del.id,product_id=prod_to_del1.id,amount=1)
		order_to_del2 = Order(
			user_id = user_to_del.id,product_id=prod_to_del2.id,amount=3)
		order_to_del3 = Order(
			user_id = user_to_del.id,product_id=prod_to_del2.id,amount=5)
		db.session.add_all([order_to_del1,order_to_del2,order_to_del3])
		db.session.commit()
		self.assertEqual(len(Order.query.all()),3)"""

        #img_to_delete1=Image(seller_id=1,name="abc",formatting = "png")
        #img_to_delete2=Image(seller_id=1,name="abce",formatting = "jpg")
        #db.session.add_all([img_to_delete1,img_to_delete2])
        #db.session.commit()
        #self.assertEqual(len(Image.query.all()),2)

        # Trying to delete

        #img_to_delete2.delete()
        #self.assertEqual(len(Image.query.all()),1)
        """order_to_del3.delete()
		self.assertEqual(len(Order.query.all()),2)
		prod_to_del2.delete()
		self.assertEqual(len(Order.query.all()),1)
		self.assertEqual(len(Product.query.all()),1)"""
        product_to_del.delete()
        #self.assertEqual(len(Image.query.all()),0)
        """self.assertEqual(len(Order.query.all()),0)
		self.assertEqual(len(Product.query.all()),0)
		self.assertEqual(len(Product.query.all()),0)"""

        print("Test 0a_1_3_1 : MyModel: relationships")
예제 #8
0
 def test_0a_1_2_2_get_dict(self):
     product = Product(name="Cheese",
                       price=50.4,
                       quantity=7.89,
                       code=789456611)
     the_dict = get_dict(product, id=True, dangerous=True)
     product.insert()
     the_dict = get_dict(product, id=True, dangerous=True)
     self.assertEqual(
         the_dict, {
             "name": "Cheese",
             "price": 50.4,
             "id": 1,
             "quantity": 7.89,
             "code": 789456611
         })
     product.delete()
     print("Test 0a_1_2_2 : get_dict: with object")
예제 #9
0
def delete_product(request, product_code, *args, **kwargs):
    resp = {
        "status": 400,
        "success": False,
        "message": "",
    }

    try:
        product = Product.get(where={'code': product_code})

        if not product:
            raise Exception('No product for the given code')

        Product.delete(where={'code': product_code})

        resp["status"] = 200
        resp["success"] = True
        resp["message"] = "Success"

    except Exception as e:
        resp['message'] = str(e)

    return resp
예제 #10
0
def destroy(product_id):
    delete = Product.delete().where(Product.id == product_id)
    delete.execute()
    flash("Product deleted.", "info")
    product = Product.select().where(Product.user_id == current_user.id)
    return render_template('users/product.html', product=product)