Private
Public Access
1
0

test indoor

This commit is contained in:
Sander Roosendaal
2021-01-17 18:54:45 +01:00
parent 88bea9086f
commit 7ae4129887

View File

@@ -101,7 +101,8 @@ class ChallengesTest(TestCase):
def test_distance(self):
lat_lon = (52.214229145558484, 6.890036546847821)
distance = howfaris(lat_lon,self.ThyroBaantje)
self.assertEqual(distance,3.156402768718697)
distance = int(100*distance)
self.assertEqual(distance,315)
def test_getnearestraces(self):
lat_lon = (52.214229145558484, 6.890036546847821)
@@ -420,3 +421,230 @@ class ChallengesTest(TestCase):
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@override_settings(TESTING=True)
class IndoorChallengesTest(TestCase):
def setUp(self):
self.u = UserFactory()
self.r = Rower.objects.create(user=self.u,
birthdate=datetime.datetime.now()-datetime.timedelta(days=25*365),
gdproptin=True,surveydone=True,
gdproptindate=timezone.now(),
rowerplan='coach')
self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
self.factory = RequestFactory()
self.password = faker.word()
self.u.set_password(self.password)
self.u.save()
id = save_scoring('Standard Scoring',self.u,'rowers/tests/testdata/coursestandard.csv',id=0)
self.Scoring = StandardCollection.objects.get(id=id)
result = get_random_file(filename='rowers/tests/testdata/2019-01-13_session.csv',
name='sprintervals')
self.werg = WorkoutFactory(user=self.r,
csvfilename=result['filename'],
starttime=result['starttime'],
startdatetime=result['startdatetime'],
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'water',
)
self.werg.startdatetime = nu
self.werg.date = nu.date()
self.werg.save()
startdate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
start_time = datetime.time()
enddate = startdate+datetime.timedelta(days=5)
end_time = start_time
evaluation_closure = startdate+datetime.timedelta(days=6)
registration_closure = evaluation_closure
contact_phone = '06342323'
contact_email = 'roosendaalsander@gmail.com'
timezone_str = 'UTC'
self.IndoorSpeedOrder = VirtualRace(
name='Thyro Speed Order',
startdate=startdate,
preferreddate = startdate,
start_time = start_time,
enddate=enddate,
end_time=end_time,
comment='',
sessiontype = 'indoorrace',
timezone=timezone_str,
evaluation_closure=evaluation_closure,
registration_closure=registration_closure,
contact_phone=contact_phone,
contact_email=contact_email,
country = 'Netherlands',
manager=self.u,
sessionvalue=result['totaldist'],
sessionunit='m',
sessionmode='distance',
)
self.IndoorSpeedOrder.save()
def tearDown(self):
for workout in self.user_workouts:
try:
os.remove(workout.csvfilename)
except (IOError, FileNotFoundError,OSError):
pass
def test_virtualevents_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
# check virtual events
url = reverse('virtualevents_view')
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'country':'All',
'regattatype':'upcoming',
}
# make various selections
form = VirtualRaceSelectForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url)
self.assertEqual(response.status_code,200)
form_data = {
'country':'All',
'regattatype':'previous',
}
form = VirtualRaceSelectForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url)
self.assertEqual(response.status_code,200)
form_data = {
'country':'All',
'regattatype':'ongoing',
}
form = VirtualRaceSelectForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url)
self.assertEqual(response.status_code,200)
form_data = {
'country':'All',
'regattatype':'my',
}
form = VirtualRaceSelectForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url)
self.assertEqual(response.status_code,200)
@patch('rowers.views.racesviews.myqueue')
def test_virtualevent_view(self,mocked_myqueue):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
race = self.IndoorSpeedOrder
# look at event
url = reverse('virtualevent_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
if self.r.birthdate:
age = calculate_age(self.r.birthdate)
else:
age = 25
# register
url = reverse('indoorvirtualevent_register_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'teamname': 'ApeTeam',
'boatclass': 'rower',
'weightcategory': 'hwt',
'adaptiveclass': 'None',
'age': age,
'mix': False,
'acceptsocialmedia': True,
}
form = IndoorVirtualRaceResultForm(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)
# toggle email
url = reverse('indoorvirtualevent_toggle_email_view',kwargs={'id':race.id})
response = self.c.get(url,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)
records = IndoorVirtualRaceResult.objects.filter(userid=self.u.id)
self.assertEqual(len(records),1)
record = records[0]
# withdraw
url = reverse('virtualevent_withdrawresult_view',kwargs={'id':race.id,'recordid':record.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
# register again
url = reverse('indoorvirtualevent_register_view',kwargs={'id':race.id})
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)
records = IndoorVirtualRaceResult.objects.filter(userid=self.u.id)
self.assertEqual(len(records),1)
record = records[0]
# submit workout
url = reverse('virtualevent_submit_result_view',kwargs={'id':race.id,'workoutid':self.werg.id})
response = self.c.get(url)
self.assertEqual(response.status_code, 200)
form_data = {
'workouts':[self.werg.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)