| 1234567891011121314151617181920212223242526 |
- from django.test import TestCase
-
- from oscar.apps.offer.reports import OfferReportGenerator
- from oscar.test.factories import (
- ConditionalOfferFactory, OrderDiscountFactory, create_order)
-
-
- class OfferReportGeneratorTestCase(TestCase):
-
- def test_generator_queryset_and_annotation(self):
- offer = ConditionalOfferFactory(pk=2)
- OrderDiscountFactory(offer_id=offer.pk, offer_name=offer.name, amount=2, order=create_order())
- OrderDiscountFactory(offer_id=offer.pk, offer_name=offer.name, amount=3, order=create_order())
- # Discount on a deleted offer
- OrderDiscountFactory(offer_id=1, offer_name="Deleted offer", amount=4, order=create_order())
- queryset = OfferReportGenerator().generate()
-
- self.assertEqual(queryset.count(), 2)
- self.assertEqual(queryset[0]["offer_id"], 2)
- self.assertEqual(queryset[0]["display_offer_name"], offer.name)
- self.assertEqual(queryset[0]["total_discount"], 5)
- self.assertEqual(queryset[0]["offer"], offer.pk)
- self.assertEqual(queryset[1]["offer_id"], 1)
- self.assertEqual(queryset[1]["display_offer_name"], "Deleted offer")
- self.assertEqual(queryset[1]["total_discount"], 4)
- self.assertEqual(queryset[1]["offer"], None)
|