Exemple #1
0
 def test_add_to_cart(self):
     """Verify items are added to a cart properly."""
     test_request = HttpRequest()
     test_request.session = {}
     cart = Cart(test_request)
     product = Product.objects.get(id=GOOD_PRODUCT_ID)
     cart.add(product)
     expected_num_items = 1
     actual_num_items = len(cart.cart.item_set.all())
     self.assertEqual(expected_num_items, actual_num_items,
                      "Number of items after adding 1 to empty cart")
class TestCart(TestCase):
    def setUp(self) -> None:
        self.blackCat = 'black cat'
        self.hsinchu = 'hsinchu'
        self.postOffice = 'post office'
        self.cart = Cart()

    def test_black_cat_with_light_weight(self):
        shipping_fee = self.shipping_fee(self.blackCat, 30, 20, 10, 5)
        self.feeShouldBe(150, shipping_fee)

    def test_black_cat_with_heavy_weight(self):
        shipping_fee = self.shipping_fee(self.blackCat, 30, 20, 10, 50)
        self.feeShouldBe(500, shipping_fee)

    def test_hsinchu_with_small_size(self):
        shipping_fee = self.shipping_fee(self.hsinchu, 30, 20, 10, 50)
        self.feeShouldBe(144, shipping_fee)

    def test_hsinchu_with_huge_size(self):
        shipping_fee = self.shipping_fee(self.hsinchu, 100, 20, 10, 50)
        self.feeShouldBe(480, shipping_fee)

    def test_post_office_by_weight(self):
        shipping_fee = self.shipping_fee(self.postOffice, 100, 20, 10, 3)
        self.feeShouldBe(110, shipping_fee)

    def test_post_office_by_size(self):
        shipping_fee = self.shipping_fee(self.postOffice, 100, 20, 10, 300)
        self.feeShouldBe(440, shipping_fee)

    def shipping_fee(self, shipper, length, width, height, weight):
        shipping_fee = self.cart.shipping_fee(shipper, length, width, height,
                                              weight)
        return shipping_fee

    def feeShouldBe(self, expected, actual_fee):
        self.assertEqual(expected, actual_fee)
 def setUp(self) -> None:
     self.blackCat = 'black cat'
     self.hsinchu = 'hsinchu'
     self.postOffice = 'post office'
     self.cart = Cart()
Exemple #4
0
def checkout(request):
    cart = Cart(request)
    cart.checkout(request.user)
    return HttpResponseRedirect(reverse('shopping_cart.views.finish'))
Exemple #5
0
def add_to_cart(request, product_id):
    product = Product.objects.get(id=product_id)
    cart = Cart(request)
    cart.add(product)
    return redirect(view_cart)