Private
Public Access
1
0

passing first races test

This commit is contained in:
Sander Roosendaal
2019-02-12 15:30:30 +01:00
parent f94dcec851
commit 3bbc93b4f4
9 changed files with 1944 additions and 35 deletions

View File

@@ -1,6 +1,11 @@
#from __future__ import print_function
from statements import *
nu = datetime.datetime.now()
from django.utils import timezone
nu = datetime.datetime.now(tz=timezone.utc)
import rowers.courses as courses
import rowers.plannedsessions as plannedsessions
@override_settings(TESTING=True)
class VirtualEventViewTest(TestCase):
@@ -13,7 +18,7 @@ class VirtualEventViewTest(TestCase):
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='coach')
self.c = Client
self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
self.factory = RequestFactory()
@@ -22,9 +27,9 @@ class VirtualEventViewTest(TestCase):
self.u.save()
# Piet
self.upiet = UserFactory()
self.upiet = UserFactory(username='piet')
self.rpiet = Rower.objects.create(user=self.u,
self.rpiet = Rower.objects.create(user=self.upiet,
birthdate=faker.profile()['birthdate'],
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='basic')
@@ -35,9 +40,9 @@ class VirtualEventViewTest(TestCase):
self.upiet.save()
# Klaas
self.uklaas = UserFactory()
self.uklaas = UserFactory(username='klaas')
self.rklaas = Rower.objects.create(user=self.u,
self.rklaas = Rower.objects.create(user=self.uklaas,
birthdate=faker.profile()['birthdate'],
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='basic')
@@ -48,9 +53,9 @@ class VirtualEventViewTest(TestCase):
self.uklaas.save()
# Henk
self.uhenk = UserFactory()
self.uhenk = UserFactory(username='henk')
self.rhenk = Rower.objects.create(user=self.u,
self.rhenk = Rower.objects.create(user=self.uhenk,
birthdate=faker.profile()['birthdate'],
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='basic')
@@ -65,12 +70,13 @@ class VirtualEventViewTest(TestCase):
tomorrow = nu+datetime.timedelta(days=1)
nextweek = nu+datetime.timedelta(days=7)
lastweek = nu-datetime.timedelta(days=7)
# erg races
self.openergrace = VirtualRace.objects.create(
name = faker.word(),
startdate = tomorrow.date(),
endddate = nextweek.date(),
enddate = nextweek.date(),
start_time = nu.time(),
end_time = nu.time(),
preferreddate = tomorrow.date(),
@@ -90,7 +96,7 @@ class VirtualEventViewTest(TestCase):
self.submitergrace = VirtualRace.objects.create(
name = faker.word(),
startdate = yesterday.date(),
endddate = nextweek.date(),
enddate = nextweek.date(),
start_time = nu.time(),
end_time = nu.time(),
preferreddate = tomorrow.date(),
@@ -108,7 +114,7 @@ class VirtualEventViewTest(TestCase):
)
# register Piet for submitergrace
record = IndoorVirtualRaceResult.create(
record = IndoorVirtualRaceResult.objects.create(
userid = self.rpiet.id,
teamname = faker.word(),
race = self.submitergrace,
@@ -117,16 +123,16 @@ class VirtualEventViewTest(TestCase):
l = self.upiet.last_name
),
weightcategory='hwt',
adaptiveclass=None,
adaptiveclass='None',
duration=datetime.time(0,0),
boatclass='rower',
coursecompleted=False,
)
result = add_rower_race(self.rpiet,self.submitergrace)
result = plannedsessions.add_rower_race(self.rpiet,self.submitergrace)
# register Henk for submitergrace
record = IndoorVirtualRaceResult.create(
record = IndoorVirtualRaceResult.objects.create(
userid = self.rhenk.id,
teamname = faker.word(),
race = self.submitergrace,
@@ -135,35 +141,217 @@ class VirtualEventViewTest(TestCase):
l = self.uhenk.last_name
),
weightcategory='hwt',
adaptiveclass=None,
adaptiveclass='None',
duration=datetime.time(0,0),
boatclass='rower',
coursecompleted=False,
)
result = add_rower_race(self.rhenk,self.submitergrace)
result = plannedsessions.add_rower_race(self.rhenk,self.submitergrace)
# course
coursefile = 'rowers/tests/testdata/course_22.kml'
coursefiletemp = 'rowers/tests/testdata/temp/course.kml'
copy(coursefile,coursefiletemp)
cs = courses.kmltocourse(coursefiletemp)
for course in cs:
cname = course['name']
cnotes = course['description']
polygons = course['polygons']
course = courses.createcourse(self.r,cname,polygons,notes=cnotes)
self.course = course
# otw races
self.openotwrace = VirtualRace.objects.create(
name = faker.word(),
startdate = tomorrow.date(),
enddate = nextweek.date(),
start_time = nu.time(),
end_time = nu.time(),
preferreddate = tomorrow.date(),
comment = faker.text(),
sessiontype = 'race',
course = self.course,
timezone = 'UTC',
evaluation_closure = nextweek,
registration_closure = tomorrow,
country = self.course.country,
manager = self.u
)
# course
self.submitotwrace = VirtualRace.objects.create(
name = faker.word(),
startdate = yesterday.date(),
enddate = nextweek.date(),
start_time = nu.time(),
end_time = nu.time(),
preferreddate = tomorrow.date(),
comment = faker.text(),
sessiontype = 'race',
course = self.course,
timezone = 'UTC',
evaluation_closure = nextweek,
registration_closure = tomorrow,
country = self.course.country,
manager = self.u
)
# register Piet for submitotwgrace
record = VirtualRaceResult.objects.create(
userid = self.rpiet.id,
teamname = faker.word(),
race = self.submitotwrace,
username = u'{f} {l}'.format(
f = self.upiet.first_name,
l = self.upiet.last_name
),
weightcategory='hwt',
adaptiveclass='None',
duration=datetime.time(0,0),
boatclass='water',
coursecompleted=False,
)
result = plannedsessions.add_rower_race(self.rpiet,self.submitotwrace)
# race,with entrants, open for submission
workouts
OTW matching course
OTW not matching course
OTE 1k
OTE different
Scenarios
races page
set up new OTE race
set up new otw race
register
withdraw
add boat (OTW)
submit result (OTE)
submit result (OTW)
standalone
calculate course adherence
other background jobs
# workouts
# OTW matching course
result = get_random_file(filename='rowers/tests/testdata/uherskehradiste_otw.csv')
self.wuh_otw = WorkoutFactory(user=self.r,
csvfilename=result['filename'],
starttime=result['starttime'],
startdatetime=result['startdatetime'],
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'water',
)
# OTW not matching course
result = get_random_file(filename='rowers/tests/testdata/onwater2.csv')
self.wwater = WorkoutFactory(user=self.r,
csvfilename=result['filename'],
starttime=result['starttime'],
startdatetime=result['startdatetime'],
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'water',
)
# OTE 1k
result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv')
self.wduzend_r = WorkoutFactory(user=self.r,
csvfilename=result['filename'],
starttime=nu.time(),
startdatetime=nu,
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'rower',
)
# Piet
result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv')
self.wduzend_rpiet = WorkoutFactory(user=self.rpiet,
csvfilename=result['filename'],
starttime=nu.time(),
startdatetime=nu,
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'rower',
)
# Klaas
result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv')
self.wduzend_rklaas = WorkoutFactory(user=self.rklaas,
csvfilename=result['filename'],
starttime=nu.time(),
startdatetime=nu,
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'rower',
)
# Henk
result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv')
self.wduzend_rhenk = WorkoutFactory(user=self.rhenk,
csvfilename=result['filename'],
starttime=nu.time(),
startdatetime=nu,
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'rower',
)
# OTE different
result = get_random_file()
self.wother_rpiet = WorkoutFactory(user=self.rpiet,
csvfilename=result['filename'],
starttime=nu.time(),
startdatetime=nu,
duration=result['duration'],
distance=result['totaldist'],
workouttype='rower',
)
def tearDown(self):
try:
os.remove('rowers/tests/testdata/temp/course.kml')
except (WindowsError, OSError, IOError):
pass
#Scenarios
# races page
def test_races_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('virtualevents_view')
response = self.c.get(url)
self.assertEqual(response.status_code,200)
# set up new OTE race
# set up new otw race
# register
# withdraw
# add boat (OTW)
# submit result (OTE)
# submit result (OTW)
# standalone
# calculate course adherence
# other background jobs