From 9bf5d7cf3e8b76ce09717dab52196abed39915b4 Mon Sep 17 00:00:00 2001 From: Martin Brochhaus Date: Fri, 18 Nov 2011 18:38:24 +0800 Subject: [PATCH] Making existing tests work again: Adding management_form data to test's POST data. --- shop/tests/views.py | 74 ++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/shop/tests/views.py b/shop/tests/views.py index 3c1345472..8736122fb 100644 --- a/shop/tests/views.py +++ b/shop/tests/views.py @@ -16,48 +16,48 @@ class ProductDetailViewTestCase(TestCase): def setUp(self): - + self.product = Product() self.product.name = 'test' self.product.short_description = 'test' self.product.long_description = 'test' self.product.unit_price = Decimal('1.0') self.product.save() - + self.view = ProductDetailView(kwargs={'pk':self.product.id}) - + def test_get_product_returns_correctly(self): setattr(self.view, 'object', None) obj = self.view.get_object() - inst = isinstance(obj,Product) + inst = isinstance(obj, Product) self.assertEqual(inst, True) - + def test_get_templates_return_expected_values(self): self.view = ProductDetailView() setattr(self.view, 'object', None) tmp = self.view.get_template_names() self.assertEqual(len(tmp), 1) - + class CartDetailsViewTestCase(TestCase): def setUp(self): - self.user = User.objects.create(username="test", + self.user = User.objects.create(username="test", email="test@example.com", first_name="Test", last_name = "Tester") - + self.cart = Cart.objects.create() - self.product= Product.objects.create() - self.item = CartItem.objects.create(cart=self.cart, quantity=1, + self.product = Product.objects.create() + self.item = CartItem.objects.create(cart=self.cart, quantity=1, product=self.product) - - + + def test_get_context_data_works(self): request = Mock() setattr(request, 'user', self.user) view = CartDetails(request=request) ret = view.get_context_data() - self.assertNotEqual(ret,None) - + self.assertNotEqual(ret, None) + def test_context_has_as_many_items_as_cart(self): self.cart.user = self.user self.cart.save() @@ -65,55 +65,55 @@ def test_context_has_as_many_items_as_cart(self): setattr(request, 'user', self.user) view = CartDetails(request=request) ret = view.get_context_data() - self.assertNotEqual(ret,None) - self.assertEqual(len(ret['cart_items']),1) + self.assertNotEqual(ret, None) + self.assertEqual(len(ret['cart_items']), 1) self.assertEqual(ret['cart_items'][0], self.item) - + def test_calling_post_redirects_properly(self): self.cart.user = self.user self.cart.save() - + request = Mock() setattr(request, 'is_ajax', lambda :False) setattr(request, 'user', self.user) - post={ + post = { 'add_item_id':self.product.id, 'add_item_quantity':1, } setattr(request, 'POST', post) - + view = CartDetails(request=request) ret = view.post() - self.assertTrue(isinstance(ret,HttpResponseRedirect)) - + self.assertTrue(isinstance(ret, HttpResponseRedirect)) + ret = view.get_context_data() - self.assertNotEqual(ret,None) - self.assertEqual(len(ret['cart_items']),1) - + self.assertNotEqual(ret, None) + self.assertEqual(len(ret['cart_items']), 1) + self.assertEqual(ret['cart_items'][0], self.item) self.assertEqual(ret['cart_items'][0].quantity, 2) - + def test_calling_ajax_post_returns_content(self): self.cart.user = self.user self.cart.save() - + request = Mock() setattr(request, 'is_ajax', lambda :True) setattr(request, 'user', self.user) - post={ + post = { 'add_item_id':self.product.id, 'add_item_quantity':1, } setattr(request, 'POST', post) - + view = CartDetails(request=request) ret = view.post() - self.assertTrue(isinstance(ret,HttpResponse)) - + self.assertTrue(isinstance(ret, HttpResponse)) + ret = view.get_context_data() self.assertNotEqual(ret,None) self.assertEqual(len(ret['cart_items']),1) - + self.assertEqual(ret['cart_items'][0], self.item) self.assertEqual(ret['cart_items'][0].quantity, 2) @@ -163,7 +163,13 @@ def test_cart_update(self): self.add_product_to_cart(self.product) cart = self.get_cart() - post = { 'update_item-%d' % cart.items.all()[0].pk : '5' } + cart_item_id = cart.items.all()[0].pk + post = { + 'form-TOTAL_FORMS': '1', + 'form-INITIAL_FORMS': '1', + 'form-MAX_NUM_FORMS': '', + 'form-0-id': str(cart_item_id), + 'form-0-quantity': '5' } response = self.client.post(reverse("cart_update"), post) self.assertEqual(response.status_code, 302) self.assertCartHasItems(5) @@ -175,7 +181,7 @@ def test_cart_item_update(self): cart_item_id = cart.items.all()[0].pk url = reverse('cart_item', kwargs={'id': cart_item_id}) post = { 'item_quantity': "5" } - response = self.client.post(url, post, + response = self.client.post(url, post, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEqual(response.status_code, 200) self.assertCartHasItems(5)