Skip to content

Commit

Permalink
Making existing tests work again: Adding management_form data to test…
Browse files Browse the repository at this point in the history
…'s POST data.
  • Loading branch information
mbrochh committed Nov 18, 2011
1 parent 7cfd457 commit 9bf5d7c
Showing 1 changed file with 40 additions and 34 deletions.
74 changes: 40 additions & 34 deletions shop/tests/views.py
Expand Up @@ -16,104 +16,104 @@

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()
request = Mock()
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)

Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down

0 comments on commit 9bf5d7c

Please sign in to comment.