Пример #1
0
 def test_max_quantity(self):
     'Is AddToCartForm works with correct product stock value'
     form = AddToCartForm(self.post, cart=self.cart, product=stock_product)
     self.assertTrue(form.is_valid())
     form.save()
     form = AddToCartForm(self.post, cart=self.cart, product=stock_product)
     self.assertTrue(form.is_valid())
     form.save()
     product_quantity = self.cart.get_line(stock_product).quantity
     self.assertEqual(product_quantity, 10,
                      '%s is the bad quantity value' % (product_quantity,))
Пример #2
0
 def test_max_quantity(self):
     'Is AddToCartForm works with correct product stock value'
     form = AddToCartForm(self.post, cart=self.cart, product=stock_product)
     self.assertTrue(form.is_valid())
     form.save()
     form = AddToCartForm(self.post, cart=self.cart, product=stock_product)
     self.assertTrue(form.is_valid())
     form.save()
     product_quantity = self.cart.get_line(stock_product).quantity
     self.assertEqual(product_quantity, 10,
                      '%s is the bad quantity value' % (product_quantity, ))
Пример #3
0
 def test_too_big_quantity(self):
     'Is AddToCartForm works with not correct quantity value'
     form = AddToCartForm({'quantity': 15},
                          cart=self.cart,
                          product=stock_product)
     self.assertFalse(form.is_valid())
     self.assertFalse(self.cart)
Пример #4
0
 def post(self, request):
     add_to_cart_form = AddToCartForm(request.POST)
     if add_to_cart_form.is_valid():
         add_item_to_cart(request.cart, get_object_or_404(Item,
                                                          pk=add_to_cart_form.cleaned_data['item_id']),
                          add_to_cart_form.cleaned_data['amount'])
     return redirect('item_list')
Пример #5
0
def add_to_cart_old(request):
    cart, created = CartModel.objects.get_or_create(user=request.user)
    context = {'success': False}
    logger.debug("ajax-add-to-cart")
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = AddToCartForm(postdata)
        if form.is_valid():
            product = form.cleaned_data['product']
            result, cart = cart_service.add_to_cart(cart, product)
            if result:
                context['success'] = True
                context['status'] = True
                #return redirect(product.get_absolute_url())
        else:
            context['error'] = 'Form is invalid'
            context['status'] = False
            messages.error(request, message="Invalid Form")
            #if request.is_ajax():
            #   return JsonResponse(context,status=HTTPStatus.BAD_REQUEST)

    else:
        context['error'] = 'Bad Request'
        context['status'] = False
        return redirect('catalog:home')
Пример #6
0
 def test_quantity(self):
     'Is AddToCartForm works with correct quantity value on empty cart'
     form = AddToCartForm(self.post, cart=self.cart, product=stock_product)
     self.assertTrue(form.is_valid())
     self.assertFalse(self.cart)
     form.save()
     product_quantity = self.cart.get_line(stock_product).quantity
     self.assertEqual(product_quantity, 5, 'Bad quantity')
Пример #7
0
 def test_quantity(self):
     'Is AddToCartForm works with correct quantity value on empty cart'
     form = AddToCartForm(self.post, cart=self.cart, product=stock_product)
     self.assertTrue(form.is_valid())
     self.assertFalse(self.cart)
     form.save()
     product_quantity = self.cart.get_line(stock_product).quantity
     self.assertEqual(product_quantity, 5, 'Bad quantity')
Пример #8
0
 def test_clean_quantity_product(self):
     'Is AddToCartForm works with not stocked product'
     cart = Cart()
     self.post['quantity'] = 10000
     form = AddToCartForm(self.post, cart=cart, product=digital_product)
     self.assertTrue(form.is_valid(), 'Form doesn\'t valitate')
     self.assertFalse(cart, 'Cart isn\'t empty')
     form.save()
     self.assertTrue(cart, 'Cart is empty')
Пример #9
0
 def test_clean_quantity_product(self):
     'Is AddToCartForm works with not stocked product'
     cart = Cart()
     self.post['quantity'] = 10000
     form = AddToCartForm(self.post, cart=cart, product=digital_product)
     self.assertTrue(form.is_valid(), 'Form doesn\'t valitate')
     self.assertFalse(cart, 'Cart isn\'t empty')
     form.save()
     self.assertTrue(cart, 'Cart is empty')
Пример #10
0
def add_product(request, product_id):
    product = Product.objects.filter(pk=product_id)

    if product.exists():
        cart = Cart(request)
        form = AddToCartForm(request.POST)

        if form.is_valid():
            cd = form.cleaned_data
            cart.add(product=product[0],
                     quantity=cd['quantity'],
                     is_update=cd['is_update'])

    print(cart.cart.values())
    url = request.META['HTTP_REFERER']
    return redirect(url)
Пример #11
0
def add_to_cart(request):
    order = get_order(request)
    if not order:
        order = Order.objects.create()
        request.session['order_id'] = order.id
    form = AddToCartForm(request.POST)
    if form.is_valid():
        product = form.cleaned_data['product']
        order_position, created = OrderPosition.objects.get_or_create(
            product=product,
            order=order,
        )
        order_position.count += 1
        order_position.save()
    print(form.errors)
    return redirect('cart')
Пример #12
0
def add_to_cart(request):
    order = get_order(request)
    if not order:
        order = Order.objects.create()
        request.session['order_id'] = order.id
    form = AddToCartForm(request.POST)
    if form.is_valid():
        product = form.cleaned_data['product']
        order_position, created = OrderPosition.objects.get_or_create(
            product=product,
            order=order,
        )
        order_position.count += 1
        order_position.save()
    print(form.errors)
    return redirect('cart')
Пример #13
0
 def test_too_big_quantity(self):
     'Is AddToCartForm works with not correct quantity value'
     form = AddToCartForm({'quantity': 15}, cart=self.cart,
                          product=stock_product)
     self.assertFalse(form.is_valid())
     self.assertFalse(self.cart)