|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+from datetime import date, datetime
|
|
1
|
2
|
from unittest import mock
|
|
2
|
3
|
|
|
|
4
|
+import pytz
|
|
|
5
|
+from django.conf import settings
|
|
3
|
6
|
from django.core import mail
|
|
4
|
7
|
from django.core.exceptions import ValidationError
|
|
5
|
|
-from django.test import TestCase
|
|
|
8
|
+from django.test import TestCase, override_settings
|
|
6
|
9
|
|
|
7
|
|
-from oscar.apps.customer.forms import EmailUserCreationForm, PasswordResetForm
|
|
|
10
|
+from oscar.apps.customer.forms import (
|
|
|
11
|
+ EmailUserCreationForm, OrderSearchForm, PasswordResetForm)
|
|
8
|
12
|
from oscar.test.factories import UserFactory
|
|
9
|
13
|
|
|
10
|
14
|
|
|
|
@@ -34,3 +38,23 @@ class TestPasswordResetForm(TestCase):
|
|
34
|
38
|
form.save()
|
|
35
|
39
|
self.assertEqual(len(mail.outbox), 1)
|
|
36
|
40
|
self.assertEqual(mail.outbox[0].to, ['mıke@example.org'])
|
|
|
41
|
+
|
|
|
42
|
+
|
|
|
43
|
+class TestOrderSearchForm(TestCase):
|
|
|
44
|
+
|
|
|
45
|
+ @override_settings(TIME_ZONE='Africa/Nairobi')
|
|
|
46
|
+ def test_get_filters(self):
|
|
|
47
|
+ form = OrderSearchForm(data={
|
|
|
48
|
+ 'date_from': date(2021, 1, 1),
|
|
|
49
|
+ 'date_to': date(2021, 1, 10),
|
|
|
50
|
+ 'order_number': '100'
|
|
|
51
|
+ })
|
|
|
52
|
+ self.assertTrue(form.is_valid())
|
|
|
53
|
+
|
|
|
54
|
+ filters = form.get_filters()
|
|
|
55
|
+ nbi = pytz.timezone(settings.TIME_ZONE)
|
|
|
56
|
+ self.assertEqual(filters, {
|
|
|
57
|
+ 'date_placed__gte': nbi.localize(datetime(2021, 1, 1)),
|
|
|
58
|
+ 'date_placed__lte': nbi.localize(datetime(2021, 1, 10, 23, 59, 59, 999999)),
|
|
|
59
|
+ 'number__contains': '100',
|
|
|
60
|
+ })
|