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

basket_tests.py 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import datetime
  2. from django.test import TestCase
  3. from oscar.apps.basket.models import Basket, Line
  4. from oscar.test.helpers import create_product
  5. from oscar.apps.basket.reports import (
  6. OpenBasketReportGenerator, SubmittedBasketReportGenerator)
  7. class BasketModelTest(TestCase):
  8. def setUp(self):
  9. self.basket = Basket.objects.create()
  10. self.dummy_product = create_product()
  11. def test_empty_baskets_have_zero_lines(self):
  12. self.assertTrue(Basket().num_lines == 0)
  13. def test_new_baskets_are_empty(self):
  14. self.assertTrue(Basket().is_empty)
  15. def test_basket_have_with_one_line(self):
  16. Line.objects.create(basket=self.basket, product=self.dummy_product)
  17. self.assertTrue(self.basket.num_lines == 1)
  18. def test_add_product_creates_line(self):
  19. self.basket.add_product(self.dummy_product)
  20. self.assertTrue(self.basket.num_lines == 1)
  21. def test_adding_multiproduct_line_returns_correct_number_of_items(self):
  22. self.basket.add_product(self.dummy_product, 10)
  23. self.assertEqual(self.basket.num_items, 10)
  24. class BasketReportTests(TestCase):
  25. def test_open_report_doesnt_error(self):
  26. data = {
  27. 'start_date': datetime.date(2012, 5, 1),
  28. 'end_date': datetime.date(2012, 5, 17),
  29. 'formatter': 'CSV'
  30. }
  31. generator = OpenBasketReportGenerator(**data)
  32. generator.generate()
  33. def test_submitted_report_doesnt_error(self):
  34. data = {
  35. 'start_date': datetime.date(2012, 5, 1),
  36. 'end_date': datetime.date(2012, 5, 17),
  37. 'formatter': 'CSV'
  38. }
  39. generator = SubmittedBasketReportGenerator(**data)
  40. generator.generate()