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()
def checkout(request): cart = Cart(request) cart.checkout(request.user) return HttpResponseRedirect(reverse('shopping_cart.views.finish'))
def add_to_cart(request, product_id): product = Product.objects.get(id=product_id) cart = Cart(request) cart.add(product) return redirect(view_cart)