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

model_tests.py 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from django.test import TestCase
  2. from oscar.apps.basket.models import Basket
  3. from oscar.apps.partner import strategy
  4. from oscar.test.factories import (
  5. BasketFactory, BasketLineAttributeFactory, ProductFactory)
  6. class TestANewBasket(TestCase):
  7. def setUp(self):
  8. self.basket = Basket()
  9. self.basket.strategy = strategy.Default()
  10. def test_has_zero_lines(self):
  11. self.assertEqual(0, self.basket.num_lines)
  12. def test_has_zero_items(self):
  13. self.assertEqual(0, self.basket.num_items)
  14. def test_doesnt_contain_vouchers(self):
  15. self.assertFalse(self.basket.contains_a_voucher)
  16. def test_can_be_edited(self):
  17. self.assertTrue(self.basket.can_be_edited)
  18. def test_is_empty(self):
  19. self.assertTrue(self.basket.is_empty)
  20. def test_is_not_submitted(self):
  21. self.assertFalse(self.basket.is_submitted)
  22. def test_has_no_applied_offers(self):
  23. self.assertEqual({}, self.basket.applied_offers())
  24. class TestBasketLine(TestCase):
  25. def test_description(self):
  26. basket = BasketFactory()
  27. product = ProductFactory(title="A product")
  28. basket.add_product(product)
  29. line = basket.lines.first()
  30. assert line.description == "A product"
  31. def test_description_with_attributes(self):
  32. basket = BasketFactory()
  33. product = ProductFactory(title="A product")
  34. basket.add_product(product)
  35. line = basket.lines.first()
  36. BasketLineAttributeFactory(
  37. line=line, value=u'\u2603', option__name='with')
  38. assert line.description == u"A product (with = '\u2603')"