Private
Public Access
1
0

further test coverage improvements

This commit is contained in:
Sander Roosendaal
2021-04-13 11:48:42 +02:00
parent 5b199a8b07
commit 08dbd43b61
4 changed files with 223 additions and 55 deletions

View File

@@ -16,9 +16,10 @@ import rowers.courses as courses
import rowers.tasks as tasks
from rowers.views.racesviews import *
from rowers.utils import calculate_age
from rowers.views import addmanual_view
from rowers.views import addmanual_view, virtualevent_compare_view
from django.contrib.messages.storage.fallback import FallbackStorage
from django.contrib.sessions.middleware import SessionMiddleware
from base64 import b64encode
import base64
@@ -61,6 +62,13 @@ class ChallengesTest(TestCase):
gdproptindate=timezone.now(),
rowerplan='coach')
self.u2 = UserFactory()
self.r2 = Rower.objects.create(user=self.u2,
birthdate=datetime.datetime.now()-datetime.timedelta(days=28*365),
gdproptin=True,surveydone=True,
gdproptindate=timezone.now(),
rowerplan='basic')
self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
self.factory = RequestFactory()
@@ -93,6 +101,22 @@ class ChallengesTest(TestCase):
self.wthyro.date = nu.date()
self.wthyro.save()
result = get_random_file(filename='rowers/tests/testdata/thyro.csv')
self.wthyro2 = WorkoutFactory(user=self.r2,
csvfilename=result['filename'],
starttime=result['starttime'],
startdatetime=result['startdatetime'],
duration=result['duration'],
distance=result['totaldist'],
workouttype = 'water',
)
self.wthyro2.startdatetime = nu
self.wthyro2.date = nu.date()
self.wthyro2.save()
startdate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
start_time = datetime.time()
enddate = startdate+datetime.timedelta(days=5)
@@ -125,6 +149,21 @@ class ChallengesTest(TestCase):
)
self.SpeedOrder.save()
self.result = VirtualRaceResult(
userid = self.u2.id,
username = self.u2.username,
race = self.SpeedOrder,
distance = 300,
duration = datetime.time(0,1,20),
points = 75,
coursecompleted = True,
age = 28,
startsecond = 0,
endsecond = 120,
workoutid = self.wthyro2.id
)
self.result.save()
def tearDown(self):
for workout in self.user_workouts:
@@ -604,6 +643,60 @@ class ChallengesTest(TestCase):
record.workoutid = self.wthyro.id
record.save()
# map compare
url = reverse('virtualevent_mapcompare_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
# compare
url = reverse('virtualevent_compare_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
# post to compare
form_data = {
'workouts':[self.wthyro2.id],
'xparam': 'distance',
'yparam': 'spm',
'plottype': 'line',
'teamid':0,
}
form = ChartParamChoiceForm(form_data)
self.assertTrue(form.is_valid())
form = WorkoutMultipleCompareForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data)
self.assertEqual(response.status_code,200)
# post2 to compare
form_data = {
'xparam': 'distance',
'yparam': 'spm',
'plottype': 'line',
'teamid':0,
}
form = ChartParamChoiceForm(form_data)
self.assertTrue(form.is_valid())
request = self.factory.post(url,
data=form_data)
# adding session
middleware = SessionMiddleware()
middleware.process_request(request)
request.session.save()
session = request.session
session['ids'] = [self.wthyro2.id]
session.save()
request.user = self.u
response = virtualevent_compare_view(request,id=str(race.id))
self.assertEqual(response.status_code,200)
url = reverse('virtualevent_disqualify_view',kwargs={'id':race.id,'recordid':record.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
@@ -635,10 +728,8 @@ class ChallengesTest(TestCase):
self.assertEqual(response.status_code, 200)
# map compare
url = reverse('virtualevent_mapcompare_view',kwargs={'id':race.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
# add boat