Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from django.utils import unittest
  2. from django.test.client import Client
  3. from django.core.urlresolvers import reverse
  4. from oscar.basket.models import *
  5. from oscar.product.models import Item, ItemClass
  6. class BasketModelTest(unittest.TestCase):
  7. def setUp(self):
  8. self.basket = Basket.objects.create()
  9. # Create a dummy product
  10. ic,_ = ItemClass.objects.get_or_create(name='Dummy class')
  11. self.dummy_product = Item.objects.create(title='Dummy product', item_class=ic)
  12. def test_empty_baskets_have_zero_lines(self):
  13. self.assertTrue(Basket().num_lines == 0)
  14. def test_new_baskets_are_empty(self):
  15. self.assertTrue(Basket().is_empty)
  16. def test_basket_have_with_one_line(self):
  17. line = Line.objects.create(basket=self.basket, product=self.dummy_product)
  18. self.assertTrue(self.basket.num_lines == 1)
  19. def test_add_product_creates_line(self):
  20. self.basket.add_product(self.dummy_product)
  21. self.assertTrue(self.basket.num_lines == 1)
  22. def test_adding_multiproduct_line_returns_correct_number_of_items(self):
  23. self.basket.add_product(self.dummy_product, 10)
  24. self.assertEqual(self.basket.num_items, 10)
  25. class BasketViewsTest(unittest.TestCase):
  26. def setUp(self):
  27. self.client = Client()
  28. def test_empty_basket_view(self):
  29. url = reverse('oscar-basket')
  30. response = self.client.get(url)
  31. self.assertEquals(200, response.status_code)
  32. self.assertEquals(0, response.context['basket'].num_lines)
  33. def test_anonymous_add_to_basket_creates_cookie(self):
  34. ic,_ = ItemClass.objects.get_or_create(name='Dummy class')
  35. dummy_product = Item.objects.create(title='Dummy product', item_class=ic)
  36. url = reverse('oscar-basket')
  37. post_params = {'product_id': dummy_product.id,
  38. 'action': 'add',
  39. 'quantity': 1}
  40. response = self.client.post(url, post_params)
  41. self.assertTrue('oscar_open_basket' in response.cookies)