NK LiNK to NK Logbook
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -296,6 +296,11 @@ class PlannedSessionTests(TestCase):
|
||||
micro2 = plannedsessions.get_todays_micro(self.plan,thedate=datetime.date.today())
|
||||
self.assertEqual(micro1.id,micro2.id)
|
||||
|
||||
def test_get_session_ids(self):
|
||||
ids = plannedsessions.get_my_session_ids(self.r)
|
||||
pss = PlannedSession.objects.filter(rower__in=[self.r])
|
||||
self.assertEqual(len(ids),len(pss))
|
||||
|
||||
class DataPrepTests(TestCase):
|
||||
def setUp(self):
|
||||
self.u = UserFactory()
|
||||
|
||||
Reference in New Issue
Block a user