diff --git a/rowers/tests.py b/rowers/tests.py index 97358244..9aff5550 100644 --- a/rowers/tests.py +++ b/rowers/tests.py @@ -459,7 +459,8 @@ class C2Objects(DjangoTestCase): self.assertEqual(response.status_code, 302) @patch('rowers.c2stuff.requests.post', side_effect=mocked_requests) - def test_c2_list(self, mock_get): + @patch('rowers.c2stuff.requests.get', side_effect=mocked_requests) + def test_c2_list(self, mock_get, mock_post): response = self.c.get('/rowers/workout/c2list',follow=True) self.assertEqual(response.status_code,200) @@ -1037,6 +1038,49 @@ boattype: 2x out = StringIO() call_command('processemail', stdout=out, testing=True) self.assertIn('Successfully processed email attachments',out.getvalue()) + +class UploadTests(TestCase): + def setUp(self): + redis_connection.publish('tasks','KILL') + u = User.objects.create_user('john', + 'sander@ds.ds', + 'koeinsloot') + r = Rower.objects.create(user=u,gdproptin=True, + gdproptindate=timezone.now() + ) + + nu = datetime.datetime.now() + workoutsbox = Mailbox.objects.create(name='workouts') + workoutsbox.save() + failbox = Mailbox.objects.create(name='Failed') + failbox.save() + m = Message(mailbox=workoutsbox, + from_header = u.email, + subject = "3x(5min/2min)/r2 \r2", + body = """ +workout run + """) + m.save() + a2 = 'media/mailbox_attachments/colin2.csv' + copyfile('rowers/testdata/emails/colin.csv',a2) + a = MessageAttachment(message=m,document=a2[6:]) + a.save() + + def tearDown(self): + for filename in os.listdir('media/mailbox_attachments'): + path = os.path.join('media/mailbox_attachments/',filename) + if not os.path.isdir(path): + try: + os.remove(path) + except IOError: + pass + + @patch('requests.get', side_effect=mocked_requests) + def test_email_workouttype(self, mock_get): + out = StringIO() + call_command('processemail', stdout=out, testing=True) + w = Workout.objects.get(id=1) + self.assertEqual(w.workouttype,'Run') class EmailTests(TestCase): def setUp(self): @@ -1060,7 +1104,6 @@ class EmailTests(TestCase): subject = filename, body=""" --- -chart: time workouttype: water boattype: 4x ... @@ -1075,7 +1118,6 @@ boattype: 4x from_header = u.email, subject = "3x(5min/2min)/r2 \r2", body = """ -chart time workout water """) m.save() diff --git a/rowers/uploads.py b/rowers/uploads.py index ac60340c..b040c56a 100644 --- a/rowers/uploads.py +++ b/rowers/uploads.py @@ -127,7 +127,7 @@ def gettypeoptions_body2(uploadoptions,body): if tester.match(line.lower()): for typ,verb in workouttypes: str1 = '^(workout)(.*)({a})'.format( - a = typ + a = typ.lower() ) testert = re.compile(str1) if testert.match(line.lower()): @@ -239,11 +239,11 @@ def getplotoptions(uploadoptions,value): def gettype(uploadoptions,value,key): workouttype = 'rower' - for type,verb in workouttypes: - if value == type: - workouttype = type + for typ,verb in workouttypes: + if value == typ: + workouttype = typ if value == verb: - workouttype = type + workouttype = typ uploadoptions[key] = workouttype @@ -314,7 +314,7 @@ def upload_options(body): uploadoptions = getplotoptions_body2(uploadoptions,body) uploadoptions = getsyncoptions_body2(uploadoptions,body) uploadoptions = getprivateoptions_body2(uploadoptions,body) - typeoptions = gettypeoptions_body2(uploadoptions,body) + uploadoptions = gettypeoptions_body2(uploadoptions,body) uploadoptions = getstravaid(uploadoptions,body) uploadoptions = getworkoutsources(uploadoptions,body) except IOError: diff --git a/rowers/views.py b/rowers/views.py index 29bb1149..a2ebda25 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -15250,6 +15250,7 @@ def plannedsession_teamedit_view(request, #@user_passes_test(iscoachmember,login_url="/rowers/promembership/", # redirect_field_name=None) +@login_required() def plannedsessions_coach_view(request, teamid=0,userid=0):