Skip to content

Commit 3fb939c

Browse files
committed
Freeze time in email sending tests
This will stop these tests flaking.
1 parent dc0f484 commit 3fb939c

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

modernomad/core/tests/test_emails.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
from modernomad.core.models import Payment, Use, Booking, UserProfile, LocationEmailTemplate
66
from modernomad.core.emails.messages import new_booking_notify, send_booking_receipt, updated_booking_notify, admin_daily_update
77
from modernomad.core.tasks import send_departure_email, send_guest_welcome, guests_residents_daily_update
8-
from django.utils import timezone
98
from datetime import datetime, timedelta, date
9+
from freezegun import freeze_time
1010

11+
TODAY = date(2019, 3, 14)
1112

13+
@freeze_time(TODAY)
1214
class EmailsTestCase(TestCase):
1315

1416
def create_booking(self, user, rate=100, status=Use.PENDING, arrive=date(4016, 1, 13), depart=date(4016, 1, 23)):
@@ -44,14 +46,13 @@ class MockResponse():
4446
self.admin = self.create_user('admin1', admin=True, email='[email protected]')
4547
self.booking = self.create_booking(user=self.guest1)
4648

47-
today = timezone.localtime(timezone.now())
48-
yesterday = today + timedelta(days=-1)
49-
in_two_days = today + timedelta(days=2)
49+
yesterday = TODAY + timedelta(days=-1)
50+
in_two_days = TODAY + timedelta(days=2)
5051
after_that = in_two_days + timedelta(days=1)
5152

52-
self.departing_today = self.create_booking(arrive=yesterday, depart=today, user=self.guest1, status="confirmed")
53+
self.departing_today = self.create_booking(arrive=yesterday, depart=TODAY, user=self.guest1, status="confirmed")
5354
self.arriving_in_two_days = self.create_booking(arrive=in_two_days, depart=after_that, user=self.guest2, status="confirmed")
54-
self.arriving_today = self.create_booking(arrive=today, depart=after_that, user=self.guest3, status="confirmed")
55+
self.arriving_today = self.create_booking(arrive=TODAY, depart=after_that, user=self.guest3, status="confirmed")
5556

5657
def tearDown(self):
5758
self.mock_mailgun_send.stop()

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ django-uuidfield==0.5.0
1111
django-webpack-loader==0.6.0
1212
Django==1.11.20
1313
djangorestframework==3.6.4
14+
freezegun==0.3.12
1415
graphene-django==2.2.0
1516
graphene==2.1.6
1617
graphql-core==2.1.0

0 commit comments

Comments
 (0)