Private
Public Access
1
0

NK LiNK to NK Logbook

This commit is contained in:
Sander Roosendaal
2021-04-21 16:47:44 +02:00
parent c278f7b900
commit ef2229c1ee
10 changed files with 246 additions and 129 deletions

View File

@@ -111,6 +111,17 @@ class ChallengesTest(TestCase):
workouttype = 'water',
)
result = get_random_file(filename='rowers/tests/testdata/thyro.csv')
self.wthyro3 = WorkoutFactory(user=self.r2,
csvfilename=result['filename'],
starttime=result['starttime'],
startdatetime=result['startdatetime'],
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'water',
)
self.wthyro2.startdatetime = arrow.get(nu).datetime
self.wthyro2.date = nu.date()
self.wthyro2.save()
@@ -164,6 +175,40 @@ class ChallengesTest(TestCase):
)
self.result.save()
self.FastestRace = VirtualRace(
name='Thyro 5K',
startdate=startdate,
preferreddate = startdate,
start_time = start_time,
enddate=enddate,
end_time=end_time,
sessionvalue=200,
comment='',
sessiontype = 'fastest_distance',
timezone=timezone_str,
evaluation_closure=evaluation_closure,
registration_closure=registration_closure,
contact_phone=contact_phone,
contact_email=contact_email,
manager=self.u,
)
self.FastestRace.save()
self.result = VirtualRaceResult(
userid = self.u2.id,
username = self.u2.username,
race = self.FastestRace,
distance = 300,
duration = datetime.time(0,1,20),
points = 75,
coursecompleted = True,
age = 28,
startsecond = 0,
endsecond = 120,
workoutid = self.wthyro3.id
)
self.result.save()
def tearDown(self):
for workout in self.user_workouts:
@@ -182,12 +227,12 @@ class ChallengesTest(TestCase):
lat_lon = (52.214229145558484, 6.890036546847821)
races = VirtualRace.objects.all()
traces = getnearestraces(lat_lon,races)
self.assertEqual(len(traces),1)
self.assertEqual(len(traces),2)
lat_lon = (0, 0)
races = VirtualRace.objects.all()
traces = getnearestraces(lat_lon,races)
self.assertEqual(len(traces),1)
self.assertEqual(len(traces),2)
def test_getnearestcourses(self):
lat_lon = (52.214229145558484, 6.890036546847821)
@@ -388,6 +433,72 @@ class ChallengesTest(TestCase):
self.assertEqual(response.status_code, 200)
def test_fastestrace_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
race = self.FastestRace
if self.r.birthdate:
age = calculate_age(self.r.birthdate)
else:
age = 25
# look at event
url = reverse('virtualevent_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
# register
url = reverse('virtualevent_register_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'teamname': 'ApeTeam',
'boatclass': 'water',
'boattype': '1x',
'weightcategory': 'hwt',
'adaptiveclass': 'None',
'age': age,
'mix': False,
'acceptsocialmedia': True,
}
form = VirtualRaceResultForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
expected_url = reverse('virtualevent_view',kwargs={'id':race.id})
self.assertRedirects(response, expected_url=expected_url,
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
# submit workout
url = reverse('virtualevent_submit_result_view',kwargs={'id':race.id,'workoutid':self.wthyro.id})
response = self.c.get(url)
self.assertEqual(response.status_code, 200)
records = IndoorVirtualRaceResult.objects.filter(userid=self.u.id)
self.assertEqual(len(records),1)
record = records[0]
form_data = {
'workouts':[self.wthyro.id],
'record':record.id,
}
response = self.c.post(url,form_data,follow=True)
self.assertRedirects(response, expected_url=expected_url,
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
def test_virtualevents_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
@@ -995,6 +1106,8 @@ class IndoorChallengesTest(TestCase):
self.assertEqual(response.url,expected)
@patch('rowers.views.racesviews.myqueue')
def test_virtualevent_view(self,mocked_myqueue):
login = self.c.login(username=self.u.username, password=self.password)