Private
Public Access
1
0

fixing races

This commit is contained in:
2024-08-25 15:51:25 +02:00
parent 8ad0823e02
commit c6e41dd2c6
3 changed files with 63 additions and 2 deletions

View File

@@ -2885,8 +2885,11 @@ class PlannedSession(models.Model):
if self.sessionvalue <= 0: # pragma: no cover
self.sessionvalue = 1
is_virtualevent = kwargs.pop('is_virtualevent', False)
# manager = self.manager
if self.sessiontype not in ['race', 'indoorrace']:
#if self.sessiontype not in ['race', 'indoorrace']:
if not is_virtualevent:
if not can_add_session(self.manager):
raise ValidationError(
"You must be a Self-Coach user or higher to create a planned session"
@@ -3108,6 +3111,8 @@ class VirtualRace(PlannedSession):
if self.evaluation_closure < enddatetime: # pragma: no cover
self.evaluation_closure = enddatetime + timezone.timedelta(days=1)
kwargs['is_virtualevent'] = True
super(VirtualRace, self).save(*args, **kwargs)

View File

@@ -16,7 +16,7 @@ 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, virtualevent_compare_view
from rowers.views import addmanual_view, virtualevent_compare_view, virtualevent_create_view, fastestvirtualevent_create_view
from django.contrib.messages.storage.fallback import FallbackStorage
from django.contrib.sessions.middleware import SessionMiddleware
@@ -469,6 +469,62 @@ class ChallengesTest(TestCase):
self.assertEqual(response.status_code, 200)
@patch('django.contrib.gis.geoip2.GeoIP2.city', side_effect=mocked_requests)
def test_fastestrace_create_view(self, mock_get):
self.u.rower.rowerplan = 'basic'
self.u.rower.save()
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('fastestvirtualevent_create_view')
response = self.c.get(url)
self.assertEqual(response.status_code, 200)
startdate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime.date()
start_time = timezone.now().time()
enddate = startdate+datetime.timedelta(days=5)
end_time = start_time
evaluation_closure = startdate+datetime.timedelta(days=6)
registration_closure = evaluation_closure
form_data = {
'name': 'test 2',
'startdate': startdate.strftime("%Y-%m-%d"),
'initial-startdate': startdate.strftime("%Y-%m-%d"),
'start_time': '13:12:14',
'enddate': enddate.strftime("%Y-%m-%d"),
'initial-enddate': enddate.strftime("%Y-%m-%d"),
'end_time': '13:12:16',
'timezone': 'US/Pacific',
'sessionvalue': '2000',
'sessionunit': 'm',
'registration_form': 'manual',
'registration_closure_0': registration_closure.strftime("%Y-%m-%d"),
'registration_closure_1': registration_closure.strftime("%H:%M:%S"),
'evaluation_closure_0': evaluation_closure.strftime("%Y-%m-%d"),
'evaluation_closure_1': evaluation_closure.strftime("%H:%M:%S"),
'comment': 'no comment',
'coursestandards': '',
'contact_phone': '+3164805181',
'contact_email': 'test@rowsandall.com',
}
form = IndoorVirtualRaceForm(form_data)
if not form.is_valid():
print(form.cleaned_data)
print(form.errors)
self.assertTrue(form.is_valid())
response = self.c.post(url, form_data, follow=True)
expected_url = reverse('virtualevents_view')
self.assertRedirects(response, expected_url=expected_url, status_code=302, target_status_code=200)
self.assertEqual(response.status_code,200)
@patch('django.contrib.gis.geoip2.GeoIP2.city', side_effect=mocked_requests)
def test_fastestrace_view(self, mock_get):
login = self.c.login(username=self.u.username, password=self.password)

Binary file not shown.