adding testing for timezone stuff
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user