|
|
@@ -2,6 +2,7 @@ from django.urls import reverse
|
|
2
|
2
|
from django.utils import timezone
|
|
3
|
3
|
|
|
4
|
4
|
from oscar.apps.offer import models
|
|
|
5
|
+from oscar.apps.order.models import OrderDiscount
|
|
5
|
6
|
from oscar.test import factories, testcases
|
|
6
|
7
|
|
|
7
|
8
|
|
|
|
@@ -248,6 +249,20 @@ class TestAnAdmin(testcases.WebTestCase):
|
|
248
|
249
|
|
|
249
|
250
|
self.assertNotIn(offer_a, offer_b.combinations.all())
|
|
250
|
251
|
|
|
|
252
|
+ def test_create_offer_order_report(self):
|
|
|
253
|
+ order1 = factories.create_order(number="100001")
|
|
|
254
|
+ order2 = factories.create_order(number="100002")
|
|
|
255
|
+ offer = factories.create_offer()
|
|
|
256
|
+ OrderDiscount.objects.create(order=order1, offer_id=offer.id)
|
|
|
257
|
+ OrderDiscount.objects.create(order=order2, offer_id=offer.id)
|
|
|
258
|
+
|
|
|
259
|
+ report_url = "%s%s" % (reverse("dashboard:offer-detail", kwargs={'pk': offer.pk}), "?format=csv")
|
|
|
260
|
+ response = self.get(report_url)
|
|
|
261
|
+ self.assertEqual(response.status_code, 200)
|
|
|
262
|
+ self.assertEqual(response.headers["Content-Type"], "text/csv")
|
|
|
263
|
+ self.assertIn("100001", response.content.decode("utf-8"))
|
|
|
264
|
+ self.assertIn("100002", response.content.decode("utf-8"))
|
|
|
265
|
+
|
|
251
|
266
|
|
|
252
|
267
|
class TestOfferListSearch(testcases.WebTestCase):
|
|
253
|
268
|
is_staff = True
|