您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

test_report.py 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import datetime
  2. from django.test import TestCase
  3. from django.utils.timezone import utc
  4. from freezegun import freeze_time
  5. from oscar.apps.basket.reports import (
  6. OpenBasketReportGenerator, SubmittedBasketReportGenerator)
  7. from oscar.core.loading import get_model
  8. from oscar.test.factories import BasketFactory
  9. Basket = get_model('basket', 'Basket')
  10. class TestBasketReports(TestCase):
  11. def setUp(self) -> None:
  12. BasketFactory.create_batch(5, status=Basket.OPEN)
  13. BasketFactory.create_batch(6, status=Basket.SUBMITTED)
  14. def test_open_report_doesnt_error(self):
  15. data = {
  16. 'start_date': datetime.date(2012, 5, 1),
  17. 'end_date': datetime.date(2012, 5, 17),
  18. 'formatter': 'CSV'
  19. }
  20. generator = OpenBasketReportGenerator(**data)
  21. generator.generate()
  22. def test_open_report_queryset(self):
  23. generator = OpenBasketReportGenerator()
  24. assert generator.queryset.count() == 5
  25. @freeze_time('2020-05-02')
  26. def test_open_report_filtering_by_date_range(self):
  27. BasketFactory.create(status=Basket.OPEN)
  28. data = {
  29. 'start_date': datetime.date(2020, 5, 1),
  30. 'end_date': datetime.date(2020, 6, 1),
  31. 'formatter': 'CSV'
  32. }
  33. generator = OpenBasketReportGenerator(**data)
  34. assert generator.queryset.count() == 1
  35. def test_submitted_report_doesnt_error(self):
  36. data = {
  37. 'start_date': datetime.date(2012, 5, 1),
  38. 'end_date': datetime.date(2012, 5, 17),
  39. 'formatter': 'CSV'
  40. }
  41. generator = SubmittedBasketReportGenerator(**data)
  42. generator.generate()
  43. def test_submitted_report_queryset(self):
  44. generator = SubmittedBasketReportGenerator()
  45. assert generator.queryset.count() == 6
  46. def test_submitted_report_filtering_by_date_range(self):
  47. date_submitted = datetime.datetime(2020, 7, 3).replace(tzinfo=utc)
  48. BasketFactory.create(status=Basket.SUBMITTED, date_submitted=date_submitted)
  49. data = {
  50. 'start_date': datetime.date(2020, 7, 1),
  51. 'end_date': datetime.date(2020, 8, 1),
  52. 'formatter': 'CSV'
  53. }
  54. generator = SubmittedBasketReportGenerator(**data)
  55. assert generator.queryset.count() == 1