Private
Public Access
1
0

adding testing for timezone stuff

This commit is contained in:
Sander Roosendaal
2021-06-16 18:49:13 +02:00
parent b04a25f7f7
commit 32df0fa9b3
4 changed files with 1892 additions and 50 deletions

View File

@@ -11,6 +11,8 @@ from rowers.models import update_records
from django.db import transaction
nu = datetime.datetime.now()
import datetime
import pytz
# interactive plots
from rowers import interactiveplots
@@ -20,6 +22,7 @@ from rowers import plannedsessions
from rowers.views.workoutviews import get_video_id
from rowers import stravastuff
import rowingdata
class OtherUnitTests(TestCase):
def setUp(self):
@@ -240,7 +243,7 @@ class PlannedSessionTests(TestCase):
monday = sundays[i]-datetime.timedelta(days=6)
if monday < cycle.startdate:
monday = cycle.startdate
nextsunday = sundays[i]
@@ -362,6 +365,7 @@ class DataPrepTests(TestCase):
rowerplan='coach')
self.r.birthdate = timezone.now()-datetime.timedelta(days=25*365)
self.r.defaulttimezone = 'Europe/Amsterdam'
self.r.save()
self.c = Client()
@@ -404,6 +408,108 @@ class DataPrepTests(TestCase):
def tearDown(self):
pass
def test_timezones(self):
#row = rowingdata.rowingdata(csvfile='rowers.tests/testdata/testdata_210616_075409.csv')
row = rowingdata.rowingdata(csvfile='rowers/tests/testdata/testdata_210616_075409.csv')
aware = datetime.datetime(2021,6,16,7,54,9,999000,tzinfo=pytz.timezone('Europe/Amsterdam'))
row.rowdatetime = aware
startdatetime, startdate, starttime, timezone_str,partofday = dataprep.get_startdate_time_zone(self.r,row)
self.assertEqual(partofday,'Morning')
want = arrow.get('2021-06-16T07:54:09.999000+02:00').isoformat()
got = arrow.get(startdatetime).isoformat()
self.assertEqual(got, want)
self.assertEqual(timezone_str,'Europe/Amsterdam')
self.assertEqual(starttime,'07:54:09')
self.assertEqual(startdate,'2021-06-16')
def test_timezones2(self):
#row = rowingdata.rowingdata(csvfile='rowers.tests/testdata/testdata_210616_075409.csv')
row = rowingdata.rowingdata(csvfile='rowers/tests/testdata/testdata_210616_075409.csv')
naive = datetime.datetime(2021,6,16,7,54,9,999000)
timezone = pytz.timezone('Europe/Prague')
aware = timezone.localize(naive)
row.rowdatetime = aware
startdatetime, startdate, starttime, timezone_str,partofday = dataprep.get_startdate_time_zone(self.r,row,
startdatetime=aware)
self.assertEqual(partofday,'Morning')
want = arrow.get('2021-06-16T07:54:09.999000+02:00').isoformat()
got = arrow.get(startdatetime).isoformat()
self.assertEqual(got, want)
self.assertEqual(timezone_str,'Europe/Prague')
self.assertEqual(starttime,'07:54:09')
self.assertEqual(startdate,'2021-06-16')
def test_timezones3(self):
#row = rowingdata.rowingdata(csvfile='rowers.tests/testdata/testdata_210616_075409.csv')
row = rowingdata.rowingdata(csvfile='rowers/tests/testdata/testdata_210616_075409.csv')
naive = datetime.datetime(2021,6,16,7,54,9,999000)
row.rowdatetime = naive
startdatetime, startdate, starttime, timezone_str,partofday = dataprep.get_startdate_time_zone(self.r,row)
self.assertEqual(timezone_str,'Europe/Amsterdam')
def test_timezones4(self):
#row = rowingdata.rowingdata(csvfile='rowers.tests/testdata/testdata_210616_075409.csv')
row = rowingdata.rowingdata(csvfile='rowers/tests/testdata/testdata_210616_075409.csv')
naive = datetime.datetime(2021,6,15,19,55,13,400000)
timezone = pytz.timezone('America/Los_Angeles')
aware = timezone.localize(naive)
row.rowdatetime = aware
(
startdatetime,
startdate,
starttime,
timezone_str,
partofday
) = dataprep.get_startdate_time_zone(self.r,row,startdatetime=aware)
self.assertEqual(timezone_str,'America/Los_Angeles')
self.assertEqual(partofday,'Morning')
want = arrow.get('2021-06-15 19:55:13.400000-07:00').isoformat()
got = arrow.get(startdatetime).isoformat()
self.assertEqual(got, want)
self.assertEqual(starttime,'19:55:13')
self.assertEqual(startdate,'2021-06-15')
def test_timezones5(self):
#row = rowingdata.rowingdata(csvfile='rowers.tests/testdata/testdata_210616_075409.csv')
row = rowingdata.rowingdata(csvfile='rowers/tests/testdata/testdata_210616_075409.csv')
naive = datetime.datetime(2021,6,15,19,55,13,400000)
timezone = pytz.timezone('America/Los_Angeles')
aware = timezone.localize(naive)
row.rowdatetime = aware
(
startdatetime,
startdate,
starttime,
timezone_str,
partofday
) = dataprep.get_startdate_time_zone(self.r,row)
self.assertEqual(timezone_str,'America/Los_Angeles')
self.assertEqual(partofday,'Morning')
want = arrow.get('2021-06-15 19:55:13.400000-07:00').isoformat()
got = arrow.get(startdatetime).isoformat()
self.assertEqual(got, want)
self.assertEqual(starttime,'19:55:13')
self.assertEqual(startdate,'2021-06-15')
@patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_uh)
def test_goldmedalstandard(self,mocked_getsmallrowdata_uh):
maxvalue, delta = dataprep.calculate_goldmedalstandard(self.r,self.wuh_otw)