mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
First steps into pytz deprecation
This commit is contained in:
@@ -32,13 +32,12 @@
|
||||
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
import pytest
|
||||
from django.test import utils
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from rest_framework.test import APIClient
|
||||
|
||||
from pretix.base.models import Device, Event, Organizer, Team, User
|
||||
@@ -67,7 +66,7 @@ def meta_prop(organizer):
|
||||
def event(organizer, meta_prop):
|
||||
e = Event.objects.create(
|
||||
organizer=organizer, name='Dummy', slug='dummy',
|
||||
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC),
|
||||
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf',
|
||||
is_public=True
|
||||
)
|
||||
@@ -82,7 +81,7 @@ def event(organizer, meta_prop):
|
||||
def event2(organizer, meta_prop):
|
||||
e = Event.objects.create(
|
||||
organizer=organizer, name='Dummy2', slug='dummy2',
|
||||
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC),
|
||||
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf'
|
||||
)
|
||||
e.meta_values.create(property=meta_prop, value="Conference")
|
||||
@@ -94,7 +93,7 @@ def event2(organizer, meta_prop):
|
||||
def event3(organizer, meta_prop):
|
||||
e = Event.objects.create(
|
||||
organizer=organizer, name='Dummy3', slug='dummy3',
|
||||
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC),
|
||||
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf'
|
||||
)
|
||||
e.meta_values.create(property=meta_prop, value="Conference")
|
||||
@@ -172,7 +171,7 @@ def device_client(client, device):
|
||||
def subevent(event, meta_prop):
|
||||
event.has_subevents = True
|
||||
event.save()
|
||||
se = event.subevents.create(name="Foobar", date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se = event.subevents.create(name="Foobar", date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
|
||||
se.meta_values.create(property=meta_prop, value="Workshop")
|
||||
return se
|
||||
@@ -183,7 +182,7 @@ def subevent(event, meta_prop):
|
||||
def subevent2(event2, meta_prop):
|
||||
event2.has_subevents = True
|
||||
event2.save()
|
||||
se = event2.subevents.create(name="Foobar", date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se = event2.subevents.create(name="Foobar", date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
|
||||
se.meta_values.create(property=meta_prop, value="Workshop")
|
||||
return se
|
||||
|
||||
@@ -28,7 +28,6 @@ import pytest
|
||||
from django.core.files.base import ContentFile
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.base.models import Question, SeatingPlan
|
||||
@@ -95,15 +94,15 @@ TEST_CARTPOSITION_RES = {
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_cp_list(token_client, organizer, event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
cr = CartPosition.objects.create(
|
||||
event=event, cart_id="aaa", item=item,
|
||||
price=23, attendee_name_parts={'full_name': 'Peter'},
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
)
|
||||
res = dict(TEST_CARTPOSITION_RES)
|
||||
res["id"] = cr.pk
|
||||
@@ -116,15 +115,15 @@ def test_cp_list(token_client, organizer, event, item, taxrule, question):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_cp_list_api(token_client, organizer, event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
cr = CartPosition.objects.create(
|
||||
event=event, cart_id="aaa@api", item=item,
|
||||
price=23, attendee_name_parts={'full_name': 'Peter'},
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
)
|
||||
res = dict(TEST_CARTPOSITION_RES)
|
||||
res["id"] = cr.pk
|
||||
@@ -137,15 +136,15 @@ def test_cp_list_api(token_client, organizer, event, item, taxrule, question):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_cp_detail(token_client, organizer, event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
cr = CartPosition.objects.create(
|
||||
event=event, cart_id="aaa@api", item=item,
|
||||
price=23, attendee_name_parts={'full_name': 'Peter'},
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
)
|
||||
res = dict(TEST_CARTPOSITION_RES)
|
||||
res["id"] = cr.pk
|
||||
@@ -158,21 +157,21 @@ def test_cp_detail(token_client, organizer, event, item, taxrule, question):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_cp_delete(token_client, organizer, event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
cr = CartPosition.objects.create(
|
||||
event=event, cart_id="aaa@api", item=item,
|
||||
price=23, attendee_name_parts={'full_name': 'Peter'},
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
)
|
||||
CartPosition.objects.create(
|
||||
event=event, cart_id="aaa@api", item=item, addon_to=cr,
|
||||
price=23, attendee_name_parts={'full_name': 'Peter'},
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=UTC)
|
||||
datetime=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2018, 6, 11, 10, 0, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
)
|
||||
res = dict(TEST_CARTPOSITION_RES)
|
||||
res["id"] = cr.pk
|
||||
|
||||
@@ -31,7 +31,6 @@ from django.utils.timezone import now
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from i18nfield.strings import LazyI18nString
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.api.serializers.item import QuestionSerializer
|
||||
@@ -57,15 +56,15 @@ def other_item(event):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, other_item, taxrule):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PAID, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=46, locale='en'
|
||||
)
|
||||
InvoiceAddress.objects.create(order=o, company="Sample company", country=Country('NZ'))
|
||||
@@ -249,7 +248,7 @@ def test_list_list(token_client, organizer, event, clist, item, subevent, django
|
||||
'/api/v1/organizers/{}/events/{}/checkinlists/?subevent_match={}'.format(organizer.slug, event.slug, subevent.pk))
|
||||
assert [res] == resp.data['results']
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
resp = token_client.get(
|
||||
'/api/v1/organizers/{}/events/{}/checkinlists/?subevent={}'.format(organizer.slug, event.slug, se2.pk))
|
||||
assert [] == resp.data['results']
|
||||
@@ -568,7 +567,7 @@ def test_list_all_items_positions(token_client, organizer, event, clist, clist_a
|
||||
@pytest.mark.django_db
|
||||
def test_list_all_items_positions_by_subevent(token_client, organizer, event, clist, clist_all, item, other_item, order, subevent):
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
pfirst = order.positions.get(positionid=1)
|
||||
pfirst.subevent = se2
|
||||
pfirst.save()
|
||||
|
||||
@@ -29,7 +29,6 @@ from django.utils.timezone import now
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from i18nfield.strings import LazyI18nString
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.api.serializers.item import QuestionSerializer
|
||||
@@ -57,15 +56,15 @@ def other_item(event):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, other_item, taxrule):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PAID, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=46, locale='en'
|
||||
)
|
||||
InvoiceAddress.objects.create(order=o, company="Sample company", country=Country('NZ'))
|
||||
@@ -104,15 +103,15 @@ def order(event, item, other_item, taxrule):
|
||||
|
||||
@pytest.fixture
|
||||
def order2(event2, item_on_event2):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
o = Order.objects.create(
|
||||
code='BAR', event=event2, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PAID, secret="ylptCPNOxTyA",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=46, locale='en'
|
||||
)
|
||||
InvoiceAddress.objects.create(order=o, company="Sample company", country=Country('NZ'))
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
from datetime import datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django_scopes import scopes_disabled
|
||||
from freezegun import freeze_time
|
||||
|
||||
tz = pytz.timezone("Asia/Tokyo")
|
||||
tz = ZoneInfo("Asia/Tokyo")
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -40,22 +40,22 @@ def test_choose_between_events(device_client, device):
|
||||
with scopes_disabled():
|
||||
e1 = device.organizer.events.create(
|
||||
name="Event", slug="e1", live=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 14, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 15, 0)),
|
||||
date_from=datetime(2020, 1, 10, 14, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 15, 0, tzinfo=tz),
|
||||
)
|
||||
cl1 = e1.checkin_lists.create(name="Same name")
|
||||
e2 = device.organizer.events.create(
|
||||
name="Event", slug="e2", live=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 16, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 17, 0)),
|
||||
date_from=datetime(2020, 1, 10, 16, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 17, 0, tzinfo=tz),
|
||||
)
|
||||
e2.checkin_lists.create(name="Other name")
|
||||
cl2 = e2.checkin_lists.create(name="Same name")
|
||||
e2.checkin_lists.create(name="Yet another name")
|
||||
tomorrow = device.organizer.events.create(
|
||||
name="Event", slug="tomorrow", live=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 11, 15, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 11, 16, 0)),
|
||||
date_from=datetime(2020, 1, 11, 15, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 11, 16, 0, tzinfo=tz),
|
||||
)
|
||||
cl3 = tomorrow.checkin_lists.create(name="Just any name")
|
||||
for e in device.organizer.events.all():
|
||||
@@ -117,7 +117,7 @@ def test_choose_between_events(device_client, device):
|
||||
assert resp.data['event']['slug'] == 'e2'
|
||||
|
||||
# check for overlapping events
|
||||
e2.date_admission = tz.localize(datetime(2020, 1, 10, 14, 45))
|
||||
e2.date_admission = datetime(2020, 1, 10, 14, 45, tzinfo=tz)
|
||||
e2.save()
|
||||
with freeze_time("2020-01-10T14:45:00+09:00"):
|
||||
resp = device_client.get('/api/v1/device/eventselection?current_event=e1')
|
||||
@@ -131,28 +131,28 @@ def test_choose_between_subevents(device_client, device):
|
||||
with scopes_disabled():
|
||||
e = device.organizer.events.create(
|
||||
name="Event", slug="e1", live=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 14, 0)),
|
||||
date_from=datetime(2020, 1, 10, 14, 0, tzinfo=tz),
|
||||
has_subevents=True,
|
||||
)
|
||||
e.settings.timezone = "Asia/Tokyo"
|
||||
se1 = e.subevents.create(
|
||||
name="Event", active=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 14, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 15, 0)),
|
||||
date_from=datetime(2020, 1, 10, 14, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 15, 0, tzinfo=tz),
|
||||
)
|
||||
cl1 = e.checkin_lists.create(name="Same name", subevent=se1)
|
||||
se2 = e.subevents.create(
|
||||
name="Event", active=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 16, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 17, 0)),
|
||||
date_from=datetime(2020, 1, 10, 16, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 17, 0, tzinfo=tz),
|
||||
)
|
||||
cl2 = e.checkin_lists.create(name="Same name", subevent=se2)
|
||||
cl3 = e.checkin_lists.create(name="Other name")
|
||||
e.checkin_lists.create(name="Yet another name", subevent=se2)
|
||||
se_tomorrow = e.subevents.create(
|
||||
name="Event", active=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 11, 15, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 11, 16, 0)),
|
||||
date_from=datetime(2020, 1, 11, 15, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 11, 16, 0, tzinfo=tz),
|
||||
)
|
||||
with freeze_time("2020-01-10T14:30:00+09:00"):
|
||||
resp = device_client.get(f'/api/v1/device/eventselection?current_event=e1¤t_subevent={se1.pk}')
|
||||
@@ -217,7 +217,7 @@ def test_choose_between_subevents(device_client, device):
|
||||
assert resp.data['subevent'] == se2.pk
|
||||
|
||||
# check for overlapping events
|
||||
se2.date_admission = tz.localize(datetime(2020, 1, 10, 14, 45))
|
||||
se2.date_admission = datetime(2020, 1, 10, 14, 45, tzinfo=tz)
|
||||
se2.save()
|
||||
with freeze_time("2020-01-10T14:45:00+09:00"):
|
||||
resp = device_client.get(f'/api/v1/device/eventselection?current_event=e1¤t_subevent={se1.pk}')
|
||||
@@ -234,25 +234,25 @@ def test_require_gate(device_client, device):
|
||||
device.save()
|
||||
e = device.organizer.events.create(
|
||||
name="Event", slug="e1", live=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 14, 0)),
|
||||
date_from=datetime(2020, 1, 10, 14, 0, tzinfo=tz),
|
||||
has_subevents=True,
|
||||
)
|
||||
e.settings.timezone = "Asia/Tokyo"
|
||||
se0 = e.subevents.create(
|
||||
name="Event", active=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 9, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 10, 0)),
|
||||
date_from=datetime(2020, 1, 10, 9, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 10, 0, tzinfo=tz),
|
||||
)
|
||||
e.subevents.create(
|
||||
name="Event", active=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 14, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 15, 0)),
|
||||
date_from=datetime(2020, 1, 10, 14, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 15, 0, tzinfo=tz),
|
||||
)
|
||||
cl1 = e.checkin_lists.create(name="Same name", subevent=se0)
|
||||
se2 = e.subevents.create(
|
||||
name="Event", active=True,
|
||||
date_from=tz.localize(datetime(2020, 1, 10, 16, 0)),
|
||||
date_to=tz.localize(datetime(2020, 1, 10, 17, 0)),
|
||||
date_from=datetime(2020, 1, 10, 16, 0, tzinfo=tz),
|
||||
date_to=datetime(2020, 1, 10, 17, 0, tzinfo=tz),
|
||||
)
|
||||
e.checkin_lists.create(name="Same name", subevent=se2)
|
||||
cl3 = e.checkin_lists.create(name="Other name", subevent=se2)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
# License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
import copy
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from decimal import Decimal
|
||||
from unittest import mock
|
||||
|
||||
@@ -43,7 +43,6 @@ from django.core.files.base import ContentFile
|
||||
from django.utils.timezone import now
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.base.models import (
|
||||
@@ -63,15 +62,15 @@ def variations(item):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
o.fees.create(fee_type=OrderFee.FEE_TYPE_PAYMENT, value=Decimal('0.25'), tax_rate=Decimal('19.00'),
|
||||
|
||||
@@ -27,7 +27,6 @@ import freezegun
|
||||
import pytest
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import InvoiceAddress, Order, OrderPosition
|
||||
from pretix.base.models.orders import OrderFee
|
||||
@@ -75,7 +74,7 @@ def quota(event, item):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
event.plugins += ",pretix.plugins.stripe"
|
||||
event.save()
|
||||
|
||||
@@ -84,8 +83,8 @@ def order(event, item, taxrule, question):
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
p1 = o.payments.create(
|
||||
@@ -140,7 +139,7 @@ def order(event, item, taxrule, question):
|
||||
|
||||
@pytest.fixture
|
||||
def invoice(order):
|
||||
testtime = datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
# License for the specific language governing permissions and limitations under the License.
|
||||
import os
|
||||
import time
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from decimal import Decimal
|
||||
from unittest import mock
|
||||
|
||||
@@ -42,7 +42,6 @@ from django.conf import settings
|
||||
from django.core.files.base import ContentFile
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.base.channels import get_all_sales_channels
|
||||
@@ -73,15 +72,15 @@ def category3(event, item):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
o.fees.create(fee_type=OrderFee.FEE_TYPE_PAYMENT, value=Decimal('0.25'), tax_rate=Decimal('19.00'),
|
||||
@@ -108,7 +107,7 @@ def order_position(item, order, taxrule, variations):
|
||||
|
||||
@pytest.fixture
|
||||
def cart_position(event, item, variations):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
@@ -1771,7 +1770,7 @@ def test_quota_list(token_client, organizer, event, quota, item, subevent):
|
||||
'/api/v1/organizers/{}/events/{}/quotas/?subevent={}'.format(organizer.slug, event.slug, subevent.pk))
|
||||
assert [res] == resp.data['results']
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
resp = token_client.get(
|
||||
'/api/v1/organizers/{}/events/{}/quotas/?subevent={}'.format(organizer.slug, event.slug, se2.pk))
|
||||
assert [] == resp.data['results']
|
||||
|
||||
@@ -19,10 +19,9 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django_scopes import scopes_disabled
|
||||
from i18nfield.strings import LazyI18nString
|
||||
|
||||
@@ -54,8 +53,8 @@ def customer(organizer):
|
||||
def membership(organizer, customer, membershiptype):
|
||||
return customer.memberships.create(
|
||||
membership_type=membershiptype,
|
||||
date_start=datetime(2021, 4, 1, 0, 0, 0, 0, tzinfo=pytz.UTC),
|
||||
date_end=datetime(2021, 4, 8, 23, 59, 59, 999999, tzinfo=pytz.UTC),
|
||||
date_start=datetime(2021, 4, 1, 0, 0, 0, 0, tzinfo=timezone.utc),
|
||||
date_end=datetime(2021, 4, 8, 23, 59, 59, 999999, tzinfo=timezone.utc),
|
||||
attendee_name_parts={
|
||||
"_scheme": "given_family",
|
||||
'given_name': 'John',
|
||||
|
||||
@@ -30,7 +30,6 @@ from django.core.files.base import ContentFile
|
||||
from django.utils.timezone import now
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.base.models import (
|
||||
@@ -90,7 +89,7 @@ def seat(event, organizer, item):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
event.plugins += ",pretix.plugins.stripe"
|
||||
event.save()
|
||||
|
||||
@@ -99,8 +98,8 @@ def order(event, item, taxrule, question):
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
p1 = o.payments.create(
|
||||
@@ -659,7 +658,7 @@ def test_orderposition_price_calculation_subevent(token_client, organizer, event
|
||||
def test_orderposition_price_calculation_subevent_with_override(token_client, organizer, event, order, subevent):
|
||||
with scopes_disabled():
|
||||
item2 = event.items.create(name="Budget Ticket", default_price=23)
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
se2.subeventitem_set.create(item=item2, price=12)
|
||||
op = order.positions.first()
|
||||
op.subevent = subevent
|
||||
@@ -1201,7 +1200,7 @@ def test_position_update_change_item_variation_mismatch(token_client, organizer,
|
||||
@pytest.mark.django_db
|
||||
def test_position_update_change_subevent(token_client, organizer, event, order, quota, item, subevent):
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
q2 = se2.quotas.create(name="foo", size=1, event=event)
|
||||
q2.items.add(item)
|
||||
op = order.positions.first()
|
||||
@@ -1223,7 +1222,7 @@ def test_position_update_change_subevent(token_client, organizer, event, order,
|
||||
@pytest.mark.django_db
|
||||
def test_position_update_change_subevent_quota_empty(token_client, organizer, event, order, quota, item, subevent):
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
q2 = se2.quotas.create(name="foo", size=0, event=event)
|
||||
q2.items.add(item)
|
||||
op = order.positions.first()
|
||||
@@ -1304,7 +1303,7 @@ def test_position_update_change_subevent_keep_seat(token_client, organizer, even
|
||||
with scopes_disabled():
|
||||
seat.subevent = subevent
|
||||
seat.save()
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
seat2 = event.seats.create(seat_number="A1", product=item, seat_guid="A1", subevent=se2)
|
||||
q2 = se2.quotas.create(name="foo", size=1, event=event)
|
||||
q2.items.add(item)
|
||||
@@ -1331,7 +1330,7 @@ def test_position_update_change_subevent_missing_seat(token_client, organizer, e
|
||||
with scopes_disabled():
|
||||
seat.subevent = subevent
|
||||
seat.save()
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
q2 = se2.quotas.create(name="foo", size=1, event=event)
|
||||
q2.items.add(item)
|
||||
op = order.positions.first()
|
||||
|
||||
@@ -31,7 +31,6 @@ from django.core.files.base import ContentFile
|
||||
from django.utils.timezone import now
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from tests.const import SAMPLE_PNG
|
||||
|
||||
from pretix.base.models import (
|
||||
@@ -79,7 +78,7 @@ def quota(event, item):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
event.plugins += ",pretix.plugins.stripe"
|
||||
event.save()
|
||||
|
||||
@@ -88,8 +87,8 @@ def order(event, item, taxrule, question):
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
p1 = o.payments.create(
|
||||
|
||||
@@ -30,7 +30,6 @@ from django.core import mail as djmail
|
||||
from django.utils.timezone import now
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
from stripe.error import APIConnectionError
|
||||
from tests.plugins.stripe.test_provider import MockedCharge
|
||||
|
||||
@@ -77,7 +76,7 @@ def quota(event, item):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule, question):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
event.plugins += ",pretix.plugins.stripe"
|
||||
event.save()
|
||||
|
||||
@@ -86,8 +85,8 @@ def order(event, item, taxrule, question):
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
expires=datetime.datetime(2017, 12, 10, 10, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
p1 = o.payments.create(
|
||||
@@ -928,8 +927,8 @@ def test_orderposition_list(token_client, organizer, event, order, item, subeven
|
||||
|
||||
with scopes_disabled():
|
||||
cl = event.checkin_lists.create(name="Default")
|
||||
c = op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=UTC), list=cl)
|
||||
op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=UTC), list=cl, successful=False)
|
||||
c = op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=datetime.timezone.utc), list=cl)
|
||||
op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=datetime.timezone.utc), list=cl, successful=False)
|
||||
res['checkins'] = [{ # successful only
|
||||
'id': c.pk,
|
||||
'datetime': '2017-12-26T10:00:00Z',
|
||||
|
||||
@@ -34,13 +34,12 @@
|
||||
|
||||
import copy
|
||||
import uuid
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from decimal import Decimal
|
||||
|
||||
import pytest
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import Order, OrderPosition
|
||||
|
||||
@@ -56,8 +55,8 @@ def order(event, item):
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
OrderPosition.objects.create(
|
||||
|
||||
@@ -19,14 +19,13 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from decimal import Decimal
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import (
|
||||
InvoiceAddress, Order, OrderPosition, SeatingPlan, SubEvent,
|
||||
@@ -52,15 +51,15 @@ def variations2(item2):
|
||||
|
||||
@pytest.fixture
|
||||
def order(event, item, taxrule):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
o = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING, secret="k24fiuwvu8kxz3y1",
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=UTC),
|
||||
datetime=datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc),
|
||||
expires=datetime(2017, 12, 10, 10, 0, 0, tzinfo=timezone.utc),
|
||||
total=23, locale='en'
|
||||
)
|
||||
o.fees.create(fee_type=OrderFee.FEE_TYPE_PAYMENT, value=Decimal('0.25'), tax_rate=Decimal('19.00'),
|
||||
@@ -344,8 +343,8 @@ def test_subevent_update(token_client, organizer, event, subevent, item, item2,
|
||||
assert resp.status_code == 200
|
||||
with scopes_disabled():
|
||||
subevent = event.subevents.get(id=subevent.id)
|
||||
assert subevent.date_from == datetime(2018, 12, 27, 10, 0, tzinfo=UTC)
|
||||
assert subevent.date_to == datetime(2018, 12, 28, 10, 0, tzinfo=UTC)
|
||||
assert subevent.date_from == datetime(2018, 12, 27, 10, 0, tzinfo=timezone.utc)
|
||||
assert subevent.date_to == datetime(2018, 12, 28, 10, 0, tzinfo=timezone.utc)
|
||||
|
||||
resp = token_client.patch(
|
||||
'/api/v1/organizers/{}/events/{}/subevents/{}/'.format(organizer.slug, event.slug, subevent.pk),
|
||||
|
||||
@@ -40,7 +40,6 @@ import pytest
|
||||
from django.utils import timezone
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import Event, SeatingPlan, Voucher
|
||||
|
||||
@@ -249,7 +248,7 @@ def test_voucher_list(token_client, organizer, event, voucher, item, quota, sube
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/?subevent={}'.format(organizer.slug, event.slug, subevent.pk))
|
||||
assert [res] == resp.data['results']
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
resp = token_client.get(
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/?subevent={}'.format(organizer.slug, event.slug,
|
||||
se2.pk))
|
||||
@@ -611,7 +610,7 @@ def test_change_to_item_of_other_event(token_client, organizer, event, item):
|
||||
organizer=organizer,
|
||||
name='Dummy2',
|
||||
slug='dummy2',
|
||||
date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC),
|
||||
date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf'
|
||||
)
|
||||
ticket2 = e2.items.create(name='Late-bird ticket', default_price=23)
|
||||
@@ -1254,8 +1253,8 @@ def test_set_seat_subevent(token_client, organizer, event, seatingplan, seat1, i
|
||||
with scopes_disabled():
|
||||
event.has_subevents = True
|
||||
event.save()
|
||||
se1 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Baz", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se1 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
se2 = event.subevents.create(name="Baz", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
seat1 = event.seats.create(seat_number="A1", product=item, seat_guid="A1", subevent=se1)
|
||||
event.seats.create(seat_number="A1", product=item, seat_guid="A1", subevent=se2)
|
||||
v = event.vouchers.create(item=item)
|
||||
@@ -1277,8 +1276,8 @@ def test_set_seat_subevent_required(token_client, organizer, event, seatingplan,
|
||||
with scopes_disabled():
|
||||
event.has_subevents = True
|
||||
event.save()
|
||||
se1 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Baz", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se1 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
se2 = event.subevents.create(name="Baz", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
seat1 = event.seats.create(seat_number="A1", product=item, seat_guid="A1", subevent=se1)
|
||||
event.seats.create(seat_number="A1", product=item, seat_guid="A1", subevent=se2)
|
||||
event.vouchers.create(item=item, seat=seat1)
|
||||
@@ -1297,8 +1296,8 @@ def test_set_seat_subevent_invalid(token_client, organizer, event, seatingplan,
|
||||
with scopes_disabled():
|
||||
event.has_subevents = True
|
||||
event.save()
|
||||
se1 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Baz", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se1 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
se2 = event.subevents.create(name="Baz", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc))
|
||||
seat1 = event.seats.create(seat_number="A1", product=item, seat_guid="A1", subevent=se1)
|
||||
event.seats.create(seat_number="B1", product=item, seat_guid="B1", subevent=se2)
|
||||
event.vouchers.create(item=item, seat=seat1, subevent=se2)
|
||||
|
||||
@@ -25,7 +25,6 @@ from unittest import mock
|
||||
|
||||
import pytest
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import WaitingListEntry
|
||||
|
||||
@@ -44,7 +43,7 @@ def quota(event, item):
|
||||
|
||||
@pytest.fixture
|
||||
def wle(event, item):
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime.datetime(2017, 12, 1, 10, 0, 0, tzinfo=datetime.timezone.UTC)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
@@ -140,7 +139,7 @@ def test_wle_list(token_client, organizer, event, wle, item, subevent):
|
||||
'/api/v1/organizers/{}/events/{}/waitinglistentries/?subevent={}'.format(organizer.slug, event.slug, subevent.pk))
|
||||
assert [res] == resp.data['results']
|
||||
with scopes_disabled():
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC))
|
||||
se2 = event.subevents.create(name="Foobar", date_from=datetime.datetime(2017, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.UTC))
|
||||
resp = token_client.get(
|
||||
'/api/v1/organizers/{}/events/{}/waitinglistentries/?subevent={}'.format(organizer.slug, event.slug,
|
||||
se2.pk))
|
||||
|
||||
@@ -19,10 +19,9 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
from datetime import datetime, time, timedelta
|
||||
from datetime import datetime, time, timedelta, timezone
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.core import mail as djmail
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scope
|
||||
@@ -39,7 +38,7 @@ def event():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=pytz.UTC),
|
||||
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer'
|
||||
)
|
||||
o.settings.timezone = "Europe/Berlin"
|
||||
@@ -304,7 +303,7 @@ def test_organizer_limited_to_events(event, user, team):
|
||||
|
||||
event2 = Event.objects.create(
|
||||
organizer=event.organizer, name='Dummy', slug='dummy2',
|
||||
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=pytz.UTC),
|
||||
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer'
|
||||
)
|
||||
team.all_events = False
|
||||
@@ -344,7 +343,7 @@ def test_organizer_ok(event, user, team):
|
||||
|
||||
Event.objects.create(
|
||||
organizer=event.organizer, name='Dummy', slug='dummy2',
|
||||
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=pytz.UTC),
|
||||
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=timezone.utc),
|
||||
plugins='pretix.plugins.banktransfer'
|
||||
)
|
||||
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
#
|
||||
from datetime import datetime, timedelta
|
||||
from decimal import Decimal
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.timezone import now
|
||||
@@ -42,7 +42,7 @@ from pretix.base.services.orders import (
|
||||
)
|
||||
from pretix.plugins.banktransfer.payment import BankTransfer
|
||||
|
||||
TZ = pytz.timezone('Europe/Berlin')
|
||||
TZ = ZoneInfo('Europe/Berlin')
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
@@ -51,9 +51,9 @@ def event():
|
||||
o.settings.customer_accounts = True
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=TZ.localize(datetime(2021, 4, 27, 10, 0, 0, 0)),
|
||||
date_to=TZ.localize(datetime(2021, 4, 28, 10, 0, 0, 0)),
|
||||
presale_end=TZ.localize(datetime(2221, 4, 28, 10, 0, 0, 0)),
|
||||
date_from=datetime(2021, 4, 27, 10, 0, 0, 0, tzinfo=TZ),
|
||||
date_to=datetime(2021, 4, 28, 10, 0, 0, 0, tzinfo=TZ),
|
||||
presale_end=datetime(2221, 4, 28, 10, 0, 0, 0, tzinfo=TZ),
|
||||
plugins='pretix.plugins.banktransfer'
|
||||
)
|
||||
event.settings.timezone = 'Europe/Berlin'
|
||||
@@ -75,8 +75,8 @@ def membership_type(event):
|
||||
def membership(event, membership_type, customer):
|
||||
return customer.memberships.create(
|
||||
membership_type=membership_type,
|
||||
date_start=TZ.localize(datetime(2021, 4, 1, 0, 0, 0, 0)),
|
||||
date_end=TZ.localize(datetime(2021, 4, 30, 23, 59, 59, 999999)),
|
||||
date_start=datetime(2021, 4, 1, 0, 0, 0, 0, tzinfo=TZ),
|
||||
date_end=datetime(2021, 4, 30, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ def subevent(event):
|
||||
event.has_subevents = True
|
||||
return event.subevents.create(
|
||||
name='Foo',
|
||||
date_from=TZ.localize(datetime(2021, 4, 29, 10, 0, 0, 0)),
|
||||
date_from=datetime(2021, 4, 29, 10, 0, 0, 0, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -115,8 +115,8 @@ def subevent(event):
|
||||
def test_validity_membership_duration_like_event(event, granting_ticket, membership_type):
|
||||
granting_ticket.grant_membership_duration_like_event = True
|
||||
assert membership_validity(granting_ticket, None, event) == (
|
||||
TZ.localize(datetime(2021, 4, 27, 10, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 4, 28, 10, 0, 0, 0)),
|
||||
datetime(2021, 4, 27, 10, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 4, 28, 10, 0, 0, 0, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -124,8 +124,8 @@ def test_validity_membership_duration_like_event(event, granting_ticket, members
|
||||
def test_validity_membership_duration_like_subevent_without_end(event, granting_ticket, subevent, membership_type):
|
||||
granting_ticket.grant_membership_duration_like_event = True
|
||||
assert membership_validity(granting_ticket, subevent, event) == (
|
||||
TZ.localize(datetime(2021, 4, 29, 10, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 4, 29, 23, 59, 59, 999999)),
|
||||
datetime(2021, 4, 29, 10, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 4, 29, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -135,8 +135,8 @@ def test_validity_membership_duration_days(event, granting_ticket, membership_ty
|
||||
granting_ticket.grant_membership_duration_days = 3
|
||||
with freeze_time("2021-04-10T11:00:00+02:00"):
|
||||
assert membership_validity(granting_ticket, subevent, event) == (
|
||||
TZ.localize(datetime(2021, 4, 10, 0, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 4, 12, 23, 59, 59, 999999)),
|
||||
datetime(2021, 4, 10, 0, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 4, 12, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -146,13 +146,13 @@ def test_validity_membership_duration_months(event, granting_ticket, membership_
|
||||
granting_ticket.grant_membership_duration_months = 1
|
||||
with freeze_time("2021-02-01T11:00:00+01:00"):
|
||||
assert membership_validity(granting_ticket, subevent, event) == (
|
||||
TZ.localize(datetime(2021, 2, 1, 0, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 2, 28, 23, 59, 59, 999999)),
|
||||
datetime(2021, 2, 1, 0, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 2, 28, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
with freeze_time("2021-02-28T11:00:00+01:00"):
|
||||
assert membership_validity(granting_ticket, subevent, event) == (
|
||||
TZ.localize(datetime(2021, 2, 28, 0, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 3, 27, 23, 59, 59, 999999)),
|
||||
datetime(2021, 2, 28, 0, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 3, 27, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -163,13 +163,13 @@ def test_validity_membership_duration_months_plus_days(event, granting_ticket, m
|
||||
granting_ticket.grant_membership_duration_days = 2
|
||||
with freeze_time("2021-02-01T11:00:00+01:00"):
|
||||
assert membership_validity(granting_ticket, subevent, event) == (
|
||||
TZ.localize(datetime(2021, 2, 1, 0, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 3, 2, 23, 59, 59, 999999)),
|
||||
datetime(2021, 2, 1, 0, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 3, 2, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
with freeze_time("2021-02-28T11:00:00+01:00"):
|
||||
assert membership_validity(granting_ticket, subevent, event) == (
|
||||
TZ.localize(datetime(2021, 2, 28, 0, 0, 0, 0)),
|
||||
TZ.localize(datetime(2021, 3, 29, 23, 59, 59, 999999)),
|
||||
datetime(2021, 2, 28, 0, 0, 0, 0, tzinfo=TZ),
|
||||
datetime(2021, 3, 29, 23, 59, 59, 999999, tzinfo=TZ),
|
||||
)
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@ def test_validate_membership_max_usages(event, customer, membership, requiring_t
|
||||
def test_validate_membership_parallel(event, customer, membership, subevent, requiring_ticket, membership_type):
|
||||
se2 = event.subevents.create(
|
||||
name='Foo',
|
||||
date_from=TZ.localize(datetime(2021, 4, 28, 10, 0, 0, 0)),
|
||||
date_from=datetime(2021, 4, 28, 10, 0, 0, 0, tzinfo=TZ),
|
||||
)
|
||||
|
||||
membership_type.allow_parallel_usage = False
|
||||
@@ -585,5 +585,5 @@ def test_grant_when_paid_and_changed(event, customer, granting_ticket):
|
||||
m = customer.memberships.get()
|
||||
assert m.granted_in == order.positions.first()
|
||||
assert m.membership_type == granting_ticket.grant_membership_type
|
||||
assert m.date_start == TZ.localize(datetime(2021, 4, 27, 10, 0, 0, 0))
|
||||
assert m.date_end == TZ.localize(datetime(2021, 4, 28, 10, 0, 0, 0))
|
||||
assert m.date_start == datetime(2021, 4, 27, 10, 0, 0, 0, tzinfo=TZ)
|
||||
assert m.date_end == datetime(2021, 4, 28, 10, 0, 0, 0, tzinfo=TZ)
|
||||
|
||||
@@ -39,7 +39,6 @@ from datetime import date, timedelta
|
||||
from decimal import Decimal
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from dateutil.tz import tzoffset
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
@@ -1188,13 +1187,13 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
@classscope(attr='o')
|
||||
def test_payment_term_last_relative(self):
|
||||
self.event.settings.set('payment_term_last', date(2017, 5, 3))
|
||||
assert self.order.payment_term_last == datetime.datetime(2017, 5, 3, 23, 59, 59, tzinfo=pytz.UTC)
|
||||
self.event.date_from = datetime.datetime(2017, 5, 3, 12, 0, 0, tzinfo=pytz.UTC)
|
||||
assert self.order.payment_term_last == datetime.datetime(2017, 5, 3, 23, 59, 59, tzinfo=datetime.timezone.utc)
|
||||
self.event.date_from = datetime.datetime(2017, 5, 3, 12, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
self.event.save()
|
||||
self.event.settings.set('payment_term_last', RelativeDateWrapper(
|
||||
RelativeDate(days_before=2, time=None, base_date_name='date_from', minutes_before=None)
|
||||
))
|
||||
assert self.order.payment_term_last == datetime.datetime(2017, 5, 1, 23, 59, 59, tzinfo=pytz.UTC)
|
||||
assert self.order.payment_term_last == datetime.datetime(2017, 5, 1, 23, 59, 59, tzinfo=datetime.timezone.utc)
|
||||
|
||||
@classscope(attr='o')
|
||||
def test_payment_term_last_subevent(self):
|
||||
@@ -1219,14 +1218,14 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
|
||||
@classscope(attr='o')
|
||||
def test_ticket_download_date_relative(self):
|
||||
self.event.settings.set('ticket_download_date', datetime.datetime(2017, 5, 3, 12, 59, 59, tzinfo=pytz.UTC))
|
||||
assert self.order.ticket_download_date == datetime.datetime(2017, 5, 3, 12, 59, 59, tzinfo=pytz.UTC)
|
||||
self.event.date_from = datetime.datetime(2017, 5, 3, 12, 0, 0, tzinfo=pytz.UTC)
|
||||
self.event.settings.set('ticket_download_date', datetime.datetime(2017, 5, 3, 12, 59, 59, tzinfo=datetime.timezone.utc))
|
||||
assert self.order.ticket_download_date == datetime.datetime(2017, 5, 3, 12, 59, 59, tzinfo=datetime.timezone.utc)
|
||||
self.event.date_from = datetime.datetime(2017, 5, 3, 12, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
self.event.save()
|
||||
self.event.settings.set('ticket_download_date', RelativeDateWrapper(
|
||||
RelativeDate(days_before=2, time=None, base_date_name='date_from', minutes_before=None)
|
||||
))
|
||||
assert self.order.ticket_download_date == datetime.datetime(2017, 5, 1, 12, 0, 0, tzinfo=pytz.UTC)
|
||||
assert self.order.ticket_download_date == datetime.datetime(2017, 5, 1, 12, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
|
||||
@classscope(attr='o')
|
||||
def test_ticket_download_date_subevent(self):
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from decimal import Decimal
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.core import mail as djmail
|
||||
from django.db.models import F, Sum
|
||||
from django.test import TestCase
|
||||
@@ -255,9 +255,9 @@ def test_expiry_last_relative_subevents(event):
|
||||
@pytest.mark.django_db
|
||||
def test_expiry_dst(event):
|
||||
event.settings.set('timezone', 'Europe/Berlin')
|
||||
tz = pytz.timezone('Europe/Berlin')
|
||||
utc = pytz.timezone('UTC')
|
||||
today = tz.localize(datetime(2016, 10, 29, 12, 0, 0)).astimezone(utc)
|
||||
tz = ZoneInfo('Europe/Berlin')
|
||||
utc = ZoneInfo('UTC')
|
||||
today = datetime(2016, 10, 29, 12, 0, 0, tzinfo=tz).astimezone(utc)
|
||||
order = _create_order(event, email='dummy@example.org', positions=[],
|
||||
now_dt=today,
|
||||
payment_requests=[{
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
import datetime
|
||||
from decimal import Decimal
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scope
|
||||
from tests.testdummy.payment import DummyPaymentProvider
|
||||
@@ -112,18 +112,18 @@ def test_availability_date_not_available(event):
|
||||
@pytest.mark.django_db
|
||||
def test_availability_date_relative(event):
|
||||
event.settings.set('timezone', 'US/Pacific')
|
||||
tz = pytz.timezone('US/Pacific')
|
||||
event.date_from = tz.localize(datetime.datetime(2016, 12, 3, 12, 0, 0))
|
||||
tz = ZoneInfo('US/Pacific')
|
||||
event.date_from = datetime.datetime(2016, 12, 3, 12, 0, 0, tzinfo=tz)
|
||||
event.save()
|
||||
prov = DummyPaymentProvider(event)
|
||||
prov.settings.set('_availability_date', RelativeDateWrapper(
|
||||
RelativeDate(days_before=2, time=None, base_date_name='date_from', minutes_before=None)
|
||||
))
|
||||
|
||||
utc = pytz.timezone('UTC')
|
||||
assert prov._is_still_available(tz.localize(datetime.datetime(2016, 11, 30, 23, 0, 0)).astimezone(utc))
|
||||
assert prov._is_still_available(tz.localize(datetime.datetime(2016, 12, 1, 23, 59, 0)).astimezone(utc))
|
||||
assert not prov._is_still_available(tz.localize(datetime.datetime(2016, 12, 2, 0, 0, 1)).astimezone(utc))
|
||||
utc = datetime.timezone.utc
|
||||
assert prov._is_still_available(datetime.datetime(2016, 11, 30, 23, 0, 0, tzinfo=tz).astimezone(utc))
|
||||
assert prov._is_still_available(datetime.datetime(2016, 12, 1, 23, 59, 0, tzinfo=tz).astimezone(utc))
|
||||
assert not prov._is_still_available(datetime.datetime(2016, 12, 2, 0, 0, 1, tzinfo=tz).astimezone(utc))
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -132,11 +132,11 @@ def test_availability_date_timezones(event):
|
||||
prov = DummyPaymentProvider(event)
|
||||
prov.settings.set('_availability_date', '2016-12-01')
|
||||
|
||||
tz = pytz.timezone('US/Pacific')
|
||||
utc = pytz.timezone('UTC')
|
||||
assert prov._is_still_available(tz.localize(datetime.datetime(2016, 11, 30, 23, 0, 0)).astimezone(utc))
|
||||
assert prov._is_still_available(tz.localize(datetime.datetime(2016, 12, 1, 23, 59, 0)).astimezone(utc))
|
||||
assert not prov._is_still_available(tz.localize(datetime.datetime(2016, 12, 2, 0, 0, 1)).astimezone(utc))
|
||||
tz = ZoneInfo('US/Pacific')
|
||||
utc = ZoneInfo('UTC')
|
||||
assert prov._is_still_available(datetime.datetime(2016, 11, 30, 23, 0, 0, tzinfo=tz).astimezone(utc))
|
||||
assert prov._is_still_available(datetime.datetime(2016, 12, 1, 23, 59, 0, tzinfo=tz).astimezone(utc))
|
||||
assert not prov._is_still_available(datetime.datetime(2016, 12, 2, 0, 0, 1, tzinfo=tz).astimezone(utc))
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
|
||||
@@ -20,16 +20,16 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
from datetime import datetime, time
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django_scopes import scope
|
||||
|
||||
from pretix.base.models import Event, Organizer
|
||||
from pretix.base.reldate import RelativeDate, RelativeDateWrapper
|
||||
|
||||
TOKYO = pytz.timezone('Asia/Tokyo')
|
||||
BERLIN = pytz.timezone('Europe/Berlin')
|
||||
TOKYO = ZoneInfo('Asia/Tokyo')
|
||||
BERLIN = ZoneInfo('Europe/Berlin')
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -37,8 +37,8 @@ def event():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=TOKYO.localize(datetime(2017, 12, 27, 5, 0, 0)),
|
||||
presale_start=TOKYO.localize(datetime(2017, 12, 1, 5, 0, 0)),
|
||||
date_from=datetime(2017, 12, 27, 5, 0, 0, tzinfo=TOKYO),
|
||||
presale_start=datetime(2017, 12, 1, 5, 0, 0, tzinfo=TOKYO),
|
||||
plugins='pretix.plugins.banktransfer'
|
||||
|
||||
)
|
||||
@@ -57,7 +57,7 @@ def test_absolute_date(event):
|
||||
@pytest.mark.django_db
|
||||
def test_relative_date_without_time(event):
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=None, base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.datetime(event).astimezone(TOKYO) == TOKYO.localize(datetime(2017, 12, 26, 5, 0, 0))
|
||||
assert rdw.datetime(event).astimezone(TOKYO) == datetime(2017, 12, 26, 5, 0, 0, tzinfo=TOKYO)
|
||||
assert rdw.to_string() == 'RELDATE/1/-/date_from/'
|
||||
|
||||
|
||||
@@ -65,64 +65,64 @@ def test_relative_date_without_time(event):
|
||||
def test_relative_date_other_base_point(event):
|
||||
with scope(organizer=event.organizer):
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=None, base_date_name='presale_start', minutes_before=None))
|
||||
assert rdw.datetime(event) == TOKYO.localize(datetime(2017, 11, 30, 5, 0, 0))
|
||||
assert rdw.datetime(event) == datetime(2017, 11, 30, 5, 0, 0, tzinfo=TOKYO)
|
||||
assert rdw.to_string() == 'RELDATE/1/-/presale_start/'
|
||||
|
||||
# presale_end is unset, defaults to date_from
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=None, base_date_name='presale_end', minutes_before=None))
|
||||
assert rdw.datetime(event) == TOKYO.localize(datetime(2017, 12, 26, 5, 0, 0))
|
||||
assert rdw.datetime(event) == datetime(2017, 12, 26, 5, 0, 0, tzinfo=TOKYO)
|
||||
assert rdw.to_string() == 'RELDATE/1/-/presale_end/'
|
||||
|
||||
# subevent base
|
||||
se = event.subevents.create(name="SE1", date_from=TOKYO.localize(datetime(2017, 11, 27, 5, 0, 0)))
|
||||
se = event.subevents.create(name="SE1", date_from=datetime(2017, 11, 27, 5, 0, 0, tzinfo=TOKYO))
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=None, base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.datetime(se) == TOKYO.localize(datetime(2017, 11, 26, 5, 0, 0))
|
||||
assert rdw.datetime(se) == datetime(2017, 11, 26, 5, 0, 0, tzinfo=TOKYO)
|
||||
|
||||
# presale_start is unset on subevent, default to event
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=None, base_date_name='presale_start', minutes_before=None))
|
||||
assert rdw.datetime(se) == TOKYO.localize(datetime(2017, 11, 30, 5, 0, 0))
|
||||
assert rdw.datetime(se) == datetime(2017, 11, 30, 5, 0, 0, tzinfo=TOKYO)
|
||||
|
||||
# presale_end is unset on all, default to date_from of subevent
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=None, base_date_name='presale_end', minutes_before=None))
|
||||
assert rdw.datetime(se) == TOKYO.localize(datetime(2017, 11, 26, 5, 0, 0))
|
||||
assert rdw.datetime(se) == datetime(2017, 11, 26, 5, 0, 0, tzinfo=TOKYO)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_relative_date_in_minutes(event):
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=0, time=None, base_date_name='date_from', minutes_before=60))
|
||||
assert rdw.to_string() == 'RELDATE/minutes/60/date_from/'
|
||||
assert rdw.datetime(event) == TOKYO.localize(datetime(2017, 12, 27, 4, 0, 0))
|
||||
assert rdw.datetime(event) == datetime(2017, 12, 27, 4, 0, 0, tzinfo=TOKYO)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_relative_date_with_time(event):
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=time(8, 5, 13), base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.to_string() == 'RELDATE/1/08:05:13/date_from/'
|
||||
assert rdw.datetime(event) == TOKYO.localize(datetime(2017, 12, 26, 8, 5, 13))
|
||||
assert rdw.datetime(event) == datetime(2017, 12, 26, 8, 5, 13, tzinfo=TOKYO)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_relative_date_with_time_around_dst(event):
|
||||
event.settings.timezone = "Europe/Berlin"
|
||||
event.date_from = BERLIN.localize(datetime(2020, 3, 29, 18, 0, 0))
|
||||
event.date_from = datetime(2020, 3, 29, 18, 0, 0, tzinfo=BERLIN)
|
||||
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=time(18, 0, 0), base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.to_string() == 'RELDATE/1/18:00:00/date_from/'
|
||||
assert rdw.datetime(event) == BERLIN.localize(datetime(2020, 3, 28, 18, 0, 0))
|
||||
assert rdw.datetime(event) == datetime(2020, 3, 28, 18, 0, 0, tzinfo=BERLIN)
|
||||
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=0, time=time(2, 30, 0), base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.to_string() == 'RELDATE/0/02:30:00/date_from/'
|
||||
assert rdw.datetime(event) == BERLIN.localize(datetime(2020, 3, 29, 2, 30, 0))
|
||||
assert rdw.datetime(event) == datetime(2020, 3, 29, 2, 30, 0, tzinfo=BERLIN)
|
||||
|
||||
event.date_from = BERLIN.localize(datetime(2020, 10, 25, 18, 0, 0))
|
||||
event.date_from = datetime(2020, 10, 25, 18, 0, 0, tzinfo=BERLIN)
|
||||
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=1, time=time(18, 0, 0), base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.to_string() == 'RELDATE/1/18:00:00/date_from/'
|
||||
assert rdw.datetime(event) == BERLIN.localize(datetime(2020, 10, 24, 18, 0, 0))
|
||||
assert rdw.datetime(event) == datetime(2020, 10, 24, 18, 0, 0, tzinfo=BERLIN)
|
||||
|
||||
rdw = RelativeDateWrapper(RelativeDate(days_before=0, time=time(2, 30, 0), base_date_name='date_from', minutes_before=None))
|
||||
assert rdw.to_string() == 'RELDATE/0/02:30:00/date_from/'
|
||||
assert rdw.datetime(event) == BERLIN.localize(datetime(2020, 10, 25, 2, 30, 0))
|
||||
assert rdw.datetime(event) == datetime(2020, 10, 25, 2, 30, 0, tzinfo=BERLIN)
|
||||
|
||||
|
||||
def test_unserialize():
|
||||
|
||||
@@ -21,20 +21,20 @@
|
||||
#
|
||||
|
||||
from datetime import date, datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
|
||||
from pretix.base.timeframes import (
|
||||
REPORTING_DATE_TIMEFRAMES, resolve_timeframe_to_dates_inclusive,
|
||||
resolve_timeframe_to_datetime_start_inclusive_end_exclusive,
|
||||
)
|
||||
|
||||
tz = pytz.timezone("Europe/Berlin")
|
||||
tz = ZoneInfo("Europe/Berlin")
|
||||
|
||||
|
||||
def dt(*args):
|
||||
return tz.localize(datetime(*args))
|
||||
return datetime(*args, tzinfo=tz)
|
||||
|
||||
|
||||
ref_date = date(2023, 3, 28)
|
||||
|
||||
@@ -21,16 +21,16 @@
|
||||
#
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django_scopes import scope
|
||||
|
||||
from pretix.base.i18n import language
|
||||
from pretix.base.models import Event, Organizer
|
||||
from pretix.base.timeline import timeline_for_event
|
||||
|
||||
tz = pytz.timezone('Europe/Berlin')
|
||||
tz = ZoneInfo('Europe/Berlin')
|
||||
|
||||
|
||||
def one(iterable):
|
||||
|
||||
@@ -37,14 +37,13 @@ import datetime
|
||||
import time
|
||||
from decimal import Decimal
|
||||
from smtplib import SMTPResponseException
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.test.utils import override_settings
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from i18nfield.strings import LazyI18nString
|
||||
from pytz import timezone
|
||||
from tests.base import SoupTest, extract_form_fields
|
||||
|
||||
from pretix.base.models import Event, LogEntry, Order, Organizer, Team, User
|
||||
@@ -835,11 +834,11 @@ class EventsTest(SoupTest):
|
||||
assert ev.location == LazyI18nString({'de': 'Hamburg', 'en': 'Hamburg'})
|
||||
assert Team.objects.filter(limit_events=ev, members=self.user).exists()
|
||||
|
||||
berlin_tz = timezone('Europe/Berlin')
|
||||
assert ev.date_from == berlin_tz.localize(datetime.datetime(2016, 12, 27, 10, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.date_to == berlin_tz.localize(datetime.datetime(2016, 12, 30, 19, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.presale_start == berlin_tz.localize(datetime.datetime(2016, 11, 1, 10, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.presale_end == berlin_tz.localize(datetime.datetime(2016, 11, 30, 18, 0, 0)).astimezone(pytz.utc)
|
||||
berlin_tz = ZoneInfo('Europe/Berlin')
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.date_to == datetime.datetime(2016, 12, 30, 19, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.presale_start == datetime.datetime(2016, 11, 1, 10, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.presale_end == datetime.datetime(2016, 11, 30, 18, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
|
||||
assert ev.tax_rules.filter(rate=Decimal('19.00')).exists()
|
||||
|
||||
@@ -954,11 +953,11 @@ class EventsTest(SoupTest):
|
||||
assert Team.objects.filter(limit_events=ev, members=self.user).exists()
|
||||
assert ev.items.count() == 1
|
||||
|
||||
berlin_tz = timezone('Europe/Berlin')
|
||||
assert ev.date_from == berlin_tz.localize(datetime.datetime(2016, 12, 27, 10, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.date_to == berlin_tz.localize(datetime.datetime(2016, 12, 30, 19, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.presale_start == berlin_tz.localize(datetime.datetime(2016, 11, 1, 10, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.presale_end == berlin_tz.localize(datetime.datetime(2016, 11, 30, 18, 0, 0)).astimezone(pytz.utc)
|
||||
berlin_tz = ZoneInfo('Europe/Berlin')
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.date_to == datetime.datetime(2016, 12, 30, 19, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.presale_start == datetime.datetime(2016, 11, 1, 10, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.presale_end == datetime.datetime(2016, 11, 30, 18, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
|
||||
assert ev.tax_rules.filter(rate=Decimal('19.00')).count() == 1
|
||||
i = ev.items.get()
|
||||
@@ -1027,11 +1026,11 @@ class EventsTest(SoupTest):
|
||||
assert Team.objects.filter(limit_events=ev, members=self.user).exists()
|
||||
assert ev.items.count() == 1
|
||||
|
||||
berlin_tz = timezone('Europe/Berlin')
|
||||
assert ev.date_from == berlin_tz.localize(datetime.datetime(2016, 12, 27, 10, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.date_to == berlin_tz.localize(datetime.datetime(2016, 12, 30, 19, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.presale_start == berlin_tz.localize(datetime.datetime(2016, 11, 1, 10, 0, 0)).astimezone(pytz.utc)
|
||||
assert ev.presale_end == berlin_tz.localize(datetime.datetime(2016, 11, 30, 18, 0, 0)).astimezone(pytz.utc)
|
||||
berlin_tz = ZoneInfo('Europe/Berlin')
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.date_to == datetime.datetime(2016, 12, 30, 19, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.presale_start == datetime.datetime(2016, 11, 1, 10, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
assert ev.presale_end == datetime.datetime(2016, 11, 30, 18, 0, 0, tzinfo=berlin_tz).astimezone(datetime.timezone.utc)
|
||||
|
||||
assert ev.tax_rules.filter(rate=Decimal('19.00')).count() == 1
|
||||
|
||||
@@ -1079,7 +1078,7 @@ class EventsTest(SoupTest):
|
||||
assert ev.organizer == self.orga1
|
||||
assert ev.location == LazyI18nString({'en': 'Hamburg'})
|
||||
assert Team.objects.filter(limit_events=ev, members=self.user).exists()
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=pytz.utc)
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
assert ev.date_to is None
|
||||
assert ev.presale_start is None
|
||||
assert ev.presale_end is None
|
||||
@@ -1128,7 +1127,7 @@ class EventsTest(SoupTest):
|
||||
assert ev.location == LazyI18nString({'en': 'Hamburg'})
|
||||
team = Team.objects.filter(limit_events=ev, members=self.user).first()
|
||||
assert team == self.team2
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=pytz.utc)
|
||||
assert ev.date_from == datetime.datetime(2016, 12, 27, 10, 0, 0, tzinfo=datetime.timezone.utc)
|
||||
assert ev.date_to is None
|
||||
assert ev.presale_start is None
|
||||
assert ev.presale_end is None
|
||||
|
||||
@@ -21,13 +21,12 @@
|
||||
#
|
||||
import copy
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import (
|
||||
Event, Item, Order, OrderPosition, Organizer, Quota, Team, User,
|
||||
@@ -89,7 +88,7 @@ RES_JOB = {
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_api_list(env, client):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
@@ -109,7 +108,7 @@ def test_api_list(env, client):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_api_detail(env, client):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.UTC)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
#
|
||||
|
||||
import datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.core import mail as djmail
|
||||
from django.utils.timezone import now, utc
|
||||
from django_scopes import scopes_disabled
|
||||
@@ -46,8 +46,8 @@ def test_sendmail_rule_create_single(event):
|
||||
|
||||
|
||||
dt_now = now()
|
||||
NZ = pytz.timezone('NZ')
|
||||
Berlin = pytz.timezone('Europe/Berlin')
|
||||
NZ = ZoneInfo('NZ')
|
||||
Berlin = ZoneInfo('Europe/Berlin')
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -101,28 +101,28 @@ Berlin = pytz.timezone('Europe/Berlin')
|
||||
datetime.datetime(2020, 2, 29, 9, tzinfo=utc)
|
||||
),
|
||||
( # Test timezone far off from UTC
|
||||
NZ.localize(datetime.datetime(2021, 5, 17, 22)),
|
||||
datetime.datetime(2021, 5, 17, 22, tzinfo=NZ),
|
||||
None,
|
||||
'NZ',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=1, send_offset_time=datetime.time(hour=9)),
|
||||
NZ.localize(datetime.datetime(2021, 5, 18, 9))
|
||||
datetime.datetime(2021, 5, 18, 9, tzinfo=NZ)
|
||||
),
|
||||
( # Test across DST change
|
||||
Berlin.localize(datetime.datetime(2021, 10, 29, 16, 30)),
|
||||
datetime.datetime(2021, 10, 29, 16, 30, tzinfo=Berlin),
|
||||
None,
|
||||
'Europe/Berlin',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=4, send_offset_time=datetime.time(hour=2, minute=30)),
|
||||
Berlin.localize(datetime.datetime(2021, 11, 2, 2, 30))
|
||||
datetime.datetime(2021, 11, 2, 2, 30, tzinfo=Berlin)
|
||||
),
|
||||
( # Test ambiguous time at DST change
|
||||
Berlin.localize(datetime.datetime(2021, 10, 29, 18, 30)),
|
||||
datetime.datetime(2021, 10, 29, 18, 30, tzinfo=Berlin),
|
||||
None,
|
||||
'Europe/Berlin',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=2, send_offset_time=datetime.time(hour=2, minute=30)),
|
||||
datetime.datetime(2021, 10, 31, 1, 30, tzinfo=utc)
|
||||
),
|
||||
( # Test non-existing time at DST change
|
||||
Berlin.localize(datetime.datetime(2021, 3, 29, 14, 30)),
|
||||
datetime.datetime(2021, 3, 29, 14, 30, tzinfo=Berlin),
|
||||
None,
|
||||
'Europe/Berlin',
|
||||
Rule(date_is_absolute=False, offset_is_after=False, send_offset_days=1, send_offset_time=datetime.time(hour=2, minute=30)),
|
||||
|
||||
@@ -23,7 +23,6 @@ import datetime
|
||||
from decimal import Decimal
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scope
|
||||
|
||||
@@ -51,7 +50,7 @@ def event():
|
||||
order_paid = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test', phone="+498912345678",
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=pytz.UTC), expires=now() + datetime.timedelta(days=10),
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=datetime.timezone.utc), expires=now() + datetime.timedelta(days=10),
|
||||
total=33, locale='en'
|
||||
)
|
||||
item_ticket = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True)
|
||||
@@ -147,7 +146,7 @@ def test_csv_order_by_inherited_name_parts(event): # noqa
|
||||
order2 = Order.objects.create(
|
||||
code='BAR', event=event, email='dummy@dummy.test', phone='+498912345678',
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=pytz.UTC), expires=now() + datetime.timedelta(days=10),
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=datetime.timezone.utc), expires=now() + datetime.timedelta(days=10),
|
||||
total=33, locale='en'
|
||||
)
|
||||
OrderPosition.objects.create(
|
||||
|
||||
@@ -37,6 +37,7 @@ import datetime
|
||||
import re
|
||||
from decimal import Decimal
|
||||
from json import loads
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
from django.conf import settings
|
||||
from django.core import mail
|
||||
@@ -44,7 +45,6 @@ from django.core.exceptions import ValidationError
|
||||
from django.test import TestCase
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import timezone
|
||||
from tests.base import SoupTest
|
||||
from tests.testdummy.signals import FoobarSalesChannel
|
||||
|
||||
@@ -1390,11 +1390,11 @@ class EventIcalDownloadTest(EventTestMixin, SoupTest):
|
||||
fmt = '%Y%m%dT%H%M%S'
|
||||
self.assertIn('DTSTART;TZID=%s:%s' %
|
||||
(self.event.settings.timezone,
|
||||
self.event.date_from.astimezone(timezone(self.event.settings.timezone)).strftime(fmt)),
|
||||
self.event.date_from.astimezone(ZoneInfo(self.event.settings.timezone)).strftime(fmt)),
|
||||
ical, 'incorrect start time')
|
||||
self.assertIn('DTEND;TZID=%s:%s' %
|
||||
(self.event.settings.timezone,
|
||||
self.event.date_to.astimezone(timezone(self.event.settings.timezone)).strftime(fmt)),
|
||||
self.event.date_to.astimezone(ZoneInfo(self.event.settings.timezone)).strftime(fmt)),
|
||||
ical, 'incorrect end time')
|
||||
self.assertIn('TZID:%s' % self.event.settings.timezone, ical, 'missing VCALENDAR')
|
||||
|
||||
@@ -1413,7 +1413,7 @@ class EventIcalDownloadTest(EventTestMixin, SoupTest):
|
||||
fmt = '%Y%m%dT%H%M%S'
|
||||
self.assertIn('DTSTART;TZID=%s:%s' %
|
||||
(self.event.settings.timezone,
|
||||
self.event.date_from.astimezone(timezone(self.event.settings.timezone)).strftime(fmt)),
|
||||
self.event.date_from.astimezone(ZoneInfo(self.event.settings.timezone)).strftime(fmt)),
|
||||
ical, 'incorrect start time')
|
||||
self.assertNotIn('DTEND', ical, 'unexpected end time attribute')
|
||||
|
||||
|
||||
@@ -19,12 +19,11 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
import pytest
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import Event, Organizer
|
||||
|
||||
@@ -149,7 +148,7 @@ def test_calendar(env, client):
|
||||
env[0].settings.event_list_type = 'calendar'
|
||||
e = Event.objects.create(
|
||||
organizer=env[0], name='MRMCD2017', slug='2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=False
|
||||
)
|
||||
r = client.get('/mrmcd/?style=calendar')
|
||||
@@ -169,7 +168,7 @@ def test_week_calendar(env, client):
|
||||
env[0].settings.event_list_type = 'calendar'
|
||||
e = Event.objects.create(
|
||||
organizer=env[0], name='MRMCD2017', slug='2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=False
|
||||
)
|
||||
r = client.get('/mrmcd/?style=week')
|
||||
@@ -187,7 +186,7 @@ def test_attributes_in_calendar(env, client):
|
||||
env[0].settings.event_list_type = 'calendar'
|
||||
e = Event.objects.create(
|
||||
organizer=env[0], name='MRMCD2017', slug='2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=True
|
||||
)
|
||||
prop = env[0].meta_properties.create(name='loc')
|
||||
@@ -203,7 +202,7 @@ def test_attributes_in_calendar(env, client):
|
||||
def test_ics(env, client):
|
||||
e = Event.objects.create(
|
||||
organizer=env[0], name='MRMCD2017', slug='2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=False
|
||||
)
|
||||
r = client.get('/mrmcd/events/ical/')
|
||||
@@ -218,7 +217,7 @@ def test_ics(env, client):
|
||||
def test_ics_subevents(env, client):
|
||||
e = Event.objects.create(
|
||||
organizer=env[0], name='MRMCD2017', slug='2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=True, has_subevents=True
|
||||
)
|
||||
with scopes_disabled():
|
||||
@@ -232,12 +231,12 @@ def test_ics_subevents(env, client):
|
||||
def test_ics_subevents_attributes(env, client):
|
||||
e0 = Event.objects.create(
|
||||
organizer=env[0], name='DS2017', slug='DS2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=True
|
||||
)
|
||||
e = Event.objects.create(
|
||||
organizer=env[0], name='MRMCD2017', slug='2017',
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=UTC),
|
||||
date_from=datetime(now().year + 1, 9, 1, tzinfo=timezone.utc),
|
||||
live=True, is_public=True, has_subevents=True
|
||||
)
|
||||
with scopes_disabled():
|
||||
|
||||
Reference in New Issue
Block a user