def test_updating_cart_item(self):
session = self.client.session
cart = self._create_testing_cart()
cart.session_key = session.session_key
cart.save()
cart_item = self._create_testing_cart_item(cart_instance=cart, product_instance=self.test_product)
response = self.client.post(reverse('cart:update', kwargs={'pk': cart_item.pk}),
data={'cart_item_quantity': '2'}, follow=True
)
messages = [msg for msg in get_messages(response.wsgi_request)]
updated_quantity = response.context['cart'].items.first().quantity
cart_item.quantity = updated_quantity
cart_item.save()
self.assertEqual(response.status_code, 200)
self.assertEqual(cart_item.quantity, 2)
self.assertEqual(cart_item.total_price, Decimal(cart_item.quantity * cart_item.product.price))
self.assertEqual(messages[0].tags, 'success', 'Message type should return success type')
self.assertEqual(messages[0].message, 'Product quantity has been updated.')
评论列表
文章目录