From 4e8dade3dcfe6ac867099020944f1fa2d45fdf25 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 18 Jan 2021 08:38:43 +0100 Subject: [PATCH] some more tests --- rowers/tests/test_races.py | 97 ++++++++++++++++++++++++++++++-- rowers/tests/testdata/thyro2.kml | 35 ++++++++++++ rowers/urls.py | 4 +- rowers/views/racesviews.py | 58 +------------------ 4 files changed, 131 insertions(+), 63 deletions(-) create mode 100644 rowers/tests/testdata/thyro2.kml diff --git a/rowers/tests/test_races.py b/rowers/tests/test_races.py index 0a70402c..2f1a3114 100644 --- a/rowers/tests/test_races.py +++ b/rowers/tests/test_races.py @@ -188,6 +188,7 @@ class ChallengesTest(TestCase): Alphen = GeoCourse.objects.get(id=2) + # edit # edit url = reverse('course_edit_view',kwargs={'id':Alphen.id}) response = self.c.get(url) @@ -211,7 +212,48 @@ class ChallengesTest(TestCase): self.assertEqual(response.status_code,200) - # (ToDO Upload new kml) + # Upload new kml + url = reverse('course_upload_replace_view',kwargs={'id':self.ThyroBaantje.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + filename = 'rowers/tests/testdata/thyro2.kml' + f = open(filename,'r') + + file_data = {'file': f} + form_data = { + 'name':'Thyro modified', + 'notes': 'aa', + 'country': 'Netherlands', + 'file':f, + } + + form = CourseForm(form_data,file_data) + response = self.c.post(url,form_data,follow=True) + f.close() + + expected_url = reverse('course_update_confirm',kwargs={'id':self.ThyroBaantje.id,'newid':3}) + + self.assertRedirects(response, expected_url=expected_url, + status_code=302,target_status_code=200) + + self.assertEqual(response.status_code, 200) + + url = expected_url + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + form_data = { + 'doupdate': True, + } + + response = self.c.post(url,form_data,follow=True) + expected_url = reverse('course_view',kwargs={'id':3}) + self.assertRedirects(response, expected_url=expected_url, + status_code=302,target_status_code=200) + + self.assertEqual(response.status_code, 200) + # KML Download url = reverse('course_kmldownload_view',kwargs={'id':Alphen.id}) @@ -396,6 +438,53 @@ class ChallengesTest(TestCase): record = records[0] + # ranking + url = reverse('virtualevent_ranking_view',kwargs={'id':race.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + # add boat + url = reverse('virtualevent_addboat_view',kwargs={'id':race.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + categories = CourseStandard.objects.filter(standardcollection=race.coursestandards).order_by("name") + thecategory = categories.filter( + agemin=initialcategory.agemin, + agemax=initialcategory.agemax, + boatclass='water', + boattype='2x', + sex=initialcategory.sex, + weightclass=initialcategory.weightclass, + adaptiveclass=initialcategory.adaptiveclass, + skillclass=initialcategory.skillclass + ) + + self.assertTrue(len(thecategory),1) + thecategory = thecategory[0] + + form_data = { + 'teamname': 'ApeTeam', + 'boattype': boattype, + 'boatclass': boatclass, + 'weightcategory': weightclass, + 'adaptiveclass': adaptiveclass, + 'age': age, + 'mix': False, + 'acceptsocialmedia': True, + 'entrycategory':thecategory.id, + } + form = VirtualRaceResultForm(form_data,categories=categories) + 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) + # withdraw url = reverse('virtualevent_withdrawresult_view',kwargs={'id':race.id,'recordid':record.id}) response = self.c.get(url) @@ -437,7 +526,7 @@ class ChallengesTest(TestCase): self.assertEqual(response.status_code, 200) records = VirtualRaceResult.objects.filter(userid=self.u.id) - self.assertEqual(len(records),1) + self.assertEqual(len(records),2) record = records[0] @@ -453,7 +542,7 @@ class ChallengesTest(TestCase): self.assertEqual(response.status_code, 200) records = VirtualRaceResult.objects.filter(userid=self.u.id) - self.assertEqual(len(records),1) + self.assertEqual(len(records),2) record = records[0] @@ -474,7 +563,7 @@ class ChallengesTest(TestCase): self.assertEqual(response.status_code, 200) records = VirtualRaceResult.objects.filter(userid=self.u.id) - self.assertEqual(len(records),1) + self.assertEqual(len(records),2) record = records[0] record.workoutid = self.wthyro.id diff --git a/rowers/tests/testdata/thyro2.kml b/rowers/tests/testdata/thyro2.kml new file mode 100644 index 00000000..e5486083 --- /dev/null +++ b/rowers/tests/testdata/thyro2.kml @@ -0,0 +1,35 @@ + + + + Courses.kml + + Courses + + - Thyro Oefenbaantje + 1 + + Start + + 1 + + + 6.848,52.22397960128134,0 6.847604734558461,52.22366336501974,0 6.84775082703156,52.22348501076475,0 6.848327567214691,52.22382735084554,0 6.848141106797385,52.22397960128134,0 6.848141106797385,52.22397960128134,0 6.848141106797385,52.22397960128134,0 + + + + + + Finish + + 1 + + + 6.845667068529353,52.22505473275959,0 6.846124505574835,52.2253406573624,0 6.845843953045947,52.22551933313507,0 6.845303793589403,52.22520820682232,0 6.845667068529353,52.22505473275959,0 6.845667068529353,52.22505473275959,0 6.845667068529353,52.22505473275959,0 + + + + + + + + diff --git a/rowers/urls.py b/rowers/urls.py index 59ec7855..3314730a 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -876,8 +876,8 @@ urlpatterns = [ re_path(r'^courses/(?P\d+)/delete/$',views.course_delete_view,name='course_delete_view'), re_path(r'^courses/(?P\d+)/downloadkml/$',views.course_kmldownload_view, name='course_kmldownload_view'), - re_path(r'^courses/(?P\d+)/replace/$',views.course_replace_view, - name='course_replace_view'), +# re_path(r'^courses/(?P\d+)/replace/$',views.course_replace_view, +# name='course_replace_view'), re_path(r'^courses/(?P\d+)/$',views.course_view,name='course_view'), re_path(r'^standards/(?P\d+)/$',views.standard_view,name='standard_view'), re_path(r'^standards/(?P\d+)/download/$',views.standards_download_view, diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index 001cb1b9..5f3c089b 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -204,62 +204,6 @@ def course_map_view(request,id=0): }) -@login_required() -@permission_required('course.change_course',fn=get_course_by_pk,raise_exception=True) -def course_replace_view(request,id=0): - course = get_object_or_404(GeoCourse,pk=id) - - r = getrower(request.user) - - #thecourses = GeoCourse.objects.filter(manager=r).exclude(id=id) - - if request.method == 'POST': - form = CourseSelectForm(request.POST) - if form.is_valid(): - course2 = form.cleaned_data['course'] - res = courses.replacecourse(course,course2) - - url = reverse(course_view, - kwargs = { - 'id':course2.id - }) - - return HttpResponseRedirect(url) - else: - - form = CourseSelectForm(course=course,manager=r) - #form.fields["course"].queryset = thecourses - - script,div = course_map(course) - - breadcrumbs = [ - { - 'url': reverse('virtualevents_view'), - 'name': 'Challenges' - }, - { - 'url': reverse(courses_view), - 'name': 'Courses' - }, - { - 'url': reverse(course_view,kwargs={'id':course.id}), - 'name': course.name - }, - { - 'url': reverse(course_replace_view,kwargs={'id':course.id}), - 'name': 'Replace Markers' - } - ] - - return render(request, - 'course_replace.html', - {'course':course, - 'active':'nav-racing', - 'breadcrumbs':breadcrumbs, - 'rower':r, - 'mapdiv':div, - 'mapscript':script, - 'form':form}) @login_required() @permission_required('course.delete_course',fn=get_course_by_pk,raise_exception=True) @@ -674,7 +618,7 @@ def course_update_confirm(request,id=0,newid=0): 'name': course.name }, { - 'url': reverse(course_replace_view,kwargs={'id':course.id}), + 'url': reverse(course_upload_replace_view,kwargs={'id':course.id}), 'name': 'Replace Markers' } ]