コード例 #1
0
ファイル: test_10.py プロジェクト: carlostbf/PSI
    def test(self):
        """
        funcion para realizar el test
        Author: Javier Gomez
        """
        price = 1.1
        stock = 10
        units1 = 1
        units5 = 5
        cat = self.add_cat("cat_1")
        prod = self.add_product(cat, "prod", "descript", price, stock)

        response = self._client.get(reverse('product_list'))
        request = response.wsgi_request

        #create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod, units=units1)
        _price = request.session[_shoppingcart.cartKey][str(prod.id)]['price']
        _units = request.session[_shoppingcart.cartKey][str(prod.id)]['units']

        cart = request.session.get('shoppingCart')
        self.assertEquals(_shoppingcart.cart, cart)
        _shoppingcart.clear()
        self.assertFalse('shoppingCart' in request.session)
コード例 #2
0
ファイル: tests.py プロジェクト: carlostbf/PSI
    def test_shoppingCartListWeb(self):
        # CREATE SESSION
        prodName1 = "prod1"
        prodName2 = "prod2"
        price1 = Decimal(1.1)
        price2 = Decimal(2.2)
        stock = 10
        units1 = 3
        units2 = 5
        cat = self.add_cat("cat_1")
        prod1 = self.add_product(cat, prodName1, "descript1", price1, stock)
        prod2 = self.add_product(cat, prodName2, "descript2", price2, stock)

        response1 = self._client.get(reverse('product_list'))
        request = response1.wsgi_request

        # create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod1, units=units1)
        _shoppingcart.addProduct(prod2, units=units2)

        #list shopping cart
        response2 = shoppingcart_list(request)
        f = open("/tmp/delete.html", 'wb')
        f.write(response2.content)
        f.close()
        from selenium import webdriver
        import time
        driver = os.path.join(BASE_DIR, "chromedriver")
        #driver = webdriver.Chrome()
        #driver.get("file:///tmp/delete.html")
        self.assertTrue(True)
        time.sleep(20)
コード例 #3
0
ファイル: views.py プロジェクト: carlostbf/PSI
def shoppingcart_add(request,product_id):
	"""
	vista para procesar un formulario para meter un producto en el carrito de la compra
	Author: Javier Gomez
	"""
	try:
		product = Product.objects.get(id=product_id)
	except ObjectDoesNotExist:
		return redirect('product_list')

	shoppingcart=ShoppingCart(request)
	form = CartAddProductForm()
	if request.method == 'POST':
		form = CartAddProductForm(request.POST)
		if form.is_valid():
			units = form.cleaned_data['units']
			update = form.cleaned_data['update']
		else: 
			return redirect('product_list')
	else:
		return redirect('product_list')

	try:
		shoppingcart.addProduct(product=product,
			units=units,
			update_units=update)
	except:
		return render(request, "shop/error.html", {'error' : "not enough stock left for:", 'products' : [product], 'category': None})
		
	return redirect('shoppingcart_list')
コード例 #4
0
ファイル: tests.py プロジェクト: carlostbf/PSI
    def test_shoppingCartList(self):
        # CREATE SESSION
        prodName1 = "prod1"
        prodName2 = "prod2"
        price1 = Decimal(1.1)
        price2 = Decimal(2.2)
        stock = 10
        units1 = 3
        units2 = 5
        cat = self.add_cat("cat_1")
        prod1 = self.add_product(cat, prodName1, "descript1", price1, stock)
        prod2 = self.add_product(cat, prodName2, "descript2", price2, stock)

        response1 = self._client.get(reverse('product_list'))
        request = response1.wsgi_request

        # create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod1, units=units1)
        _shoppingcart.addProduct(prod2, units=units2)

        #list shopping cart
        response2 = shoppingcart_list(request)
        self.assertIn(prodName1, response2.content)
        self.assertIn(prodName2, response2.content)
        self.assertNotIn("prod3", response2.content)
コード例 #5
0
ファイル: tests.py プロジェクト: carlostbf/PSI
    def test_shoppingCartTotalPrice(self):
        # CREATE SESSION
        price1 = Decimal(1.1)
        price2 = Decimal(2.2)
        stock = 10
        units1 = 3
        units2 = 5
        cat = self.add_cat("cat_1")
        prod1 = self.add_product(cat, "prod1", "descript1", price1, stock)
        prod2 = self.add_product(cat, "prod2", "descript2", price2, stock)

        response = self._client.get(reverse('product_list'))
        request = response.wsgi_request

        # create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod1, units=units1)
        _shoppingcart.addProduct(prod2, units=units2)
        totalPrice = _shoppingcart.get_total_price()
        self.assertEqual(totalPrice, price1 * units1 + price2 * units2)
コード例 #6
0
ファイル: tests.py プロジェクト: carlostbf/PSI
    def test_shoppingCartLen(self):
        #CREATE SESSION
        price = 1.1
        stock = 10
        cat = self.add_cat("cat_1")
        prod1 = self.add_product(cat, "prod1", "descript1", price, stock)
        prod2 = self.add_product(cat, "prod2", "descript2", price, stock)

        response = self._client.get(reverse('product_list'))
        request = response.wsgi_request

        #create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod1, units=3)
        _shoppingcart.addProduct(prod2, units=5)

        #get number of items in sopping cart
        _len = len(_shoppingcart)
        self.assertEqual(_len, 8)
        self.assertNotEqual(_len, 2)
コード例 #7
0
ファイル: tests.py プロジェクト: carlostbf/PSI
    def test_shoppingCartAdd(self):
        #CREATE SESSION
        price = 1.1
        stock = 10
        units1 = 1
        units5 = 5
        cat = self.add_cat("cat_1")
        prod = self.add_product(cat, "prod", "descript", price, stock)

        response = self._client.get(reverse('product_list'))
        request = response.wsgi_request

        #create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod, units=units1)
        _price = request.session[_shoppingcart.cartKey][str(prod.id)]['price']
        _units = request.session[_shoppingcart.cartKey][str(prod.id)]['units']
        self.assertAlmostEquals(_price, str(price))
        self.assertEquals(_units, units1)

        #update shopping cart 1
        _shoppingcart.addProduct(prod, units=units5, update_units=False)
        _price = request.session[_shoppingcart.cartKey][str(prod.id)]['price']
        _units = request.session[_shoppingcart.cartKey][str(prod.id)]['units']
        self.assertEquals(_units, units1 + units5)

        #update shopping cart 2
        _shoppingcart.addProduct(prod, units=units5, update_units=True)
        _units = request.session[_shoppingcart.cartKey][str(prod.id)]['units']
        self.assertEquals(_units, units5)
コード例 #8
0
ファイル: tests.py プロジェクト: carlostbf/PSI
    def test_shoppingCartRemoveProduct(self):
        #CREATE SESSION
        price = 1.1
        stock = 10
        cat = self.add_cat("cat_1")
        prod1 = self.add_product(cat, "prod1", "descript1", price, stock)
        prod2 = self.add_product(cat, "prod2", "descript2", price, stock)

        response = self._client.get(reverse('product_list'))
        request = response.wsgi_request

        #create shopping cart
        _shoppingcart = ShoppingCart(request)
        _shoppingcart.addProduct(prod1)
        _shoppingcart.addProduct(prod2)
        key1 = str(prod1.id)
        key2 = str(prod2.id)
        #remove product
        _shoppingcart.removeProduct(prod1)
        _sessionCartDict = request.session[_shoppingcart.cartKey]
        self.assertFalse(key1 in _sessionCartDict)
        self.assertTrue(key2 in _sessionCartDict)