| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import datetime
-
- from django.test import TestCase
- from django.utils.timezone import utc
- from freezegun import freeze_time
-
- from oscar.apps.basket.reports import (
- OpenBasketReportGenerator, SubmittedBasketReportGenerator)
- from oscar.core.loading import get_model
- from oscar.test.factories import BasketFactory
-
- Basket = get_model('basket', 'Basket')
-
-
- class TestBasketReports(TestCase):
- def setUp(self) -> None:
- BasketFactory.create_batch(5, status=Basket.OPEN)
- BasketFactory.create_batch(6, status=Basket.SUBMITTED)
-
- def test_open_report_doesnt_error(self):
- data = {
- 'start_date': datetime.date(2012, 5, 1),
- 'end_date': datetime.date(2012, 5, 17),
- 'formatter': 'CSV'
- }
- generator = OpenBasketReportGenerator(**data)
- generator.generate()
-
- def test_open_report_queryset(self):
- generator = OpenBasketReportGenerator()
- assert generator.queryset.count() == 5
-
- @freeze_time('2020-05-02')
- def test_open_report_filtering_by_date_range(self):
- BasketFactory.create(status=Basket.OPEN)
- data = {
- 'start_date': datetime.date(2020, 5, 1),
- 'end_date': datetime.date(2020, 6, 1),
- 'formatter': 'CSV'
- }
- generator = OpenBasketReportGenerator(**data)
- assert generator.queryset.count() == 1
-
- def test_submitted_report_doesnt_error(self):
- data = {
- 'start_date': datetime.date(2012, 5, 1),
- 'end_date': datetime.date(2012, 5, 17),
- 'formatter': 'CSV'
- }
- generator = SubmittedBasketReportGenerator(**data)
- generator.generate()
-
- def test_submitted_report_queryset(self):
- generator = SubmittedBasketReportGenerator()
- assert generator.queryset.count() == 6
-
- def test_submitted_report_filtering_by_date_range(self):
- date_submitted = datetime.datetime(2020, 7, 3).replace(tzinfo=utc)
- BasketFactory.create(status=Basket.SUBMITTED, date_submitted=date_submitted)
- data = {
- 'start_date': datetime.date(2020, 7, 1),
- 'end_date': datetime.date(2020, 8, 1),
- 'formatter': 'CSV'
- }
- generator = SubmittedBasketReportGenerator(**data)
- assert generator.queryset.count() == 1
|