diff --git a/rowers/tests/test_staticcharts.py b/rowers/tests/test_staticcharts.py index 3e5e33e5..82bccb50 100644 --- a/rowers/tests/test_staticcharts.py +++ b/rowers/tests/test_staticcharts.py @@ -8,6 +8,7 @@ from .statements import * nu = datetime.datetime.now() + #@pytest.mark.django_db class PlotTests(TestCase): def setUp(self): @@ -53,6 +54,8 @@ class PlotTests(TestCase): 'powerzones':serialize_list(r.powerzones), } + self.c = Client() + @patch('rowers.tasks.rdata') @patch('rowers.tasks.FigureCanvas') def test_ote_plots(self, mocked_rowingdata, mocked_canvas): @@ -192,6 +195,39 @@ class PlotTests(TestCase): except (FileNotFoundError,OSError): pass + @patch('rowers.tasks.rdata') + @patch('rowers.tasks.FigureCanvas') + def test_chartrequests(self, mocked_rowingdata, mocked_canvas): + opid = encoder.encode_hex(self.wotw.id) + url = reverse('workout_add_chart_view', + kwargs={'id':opid, + 'plotnr':13 + }) + + login = self.c.login(username='john', password='koeinsloot') + self.assertTrue(login) + + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + i = GraphImage.objects.filter(workout=self.wotw) + self.assertEqual(len(i),1) + + graphid = i[0].id + + url = reverse('graph_delete',kwargs={'pk':graphid}) + + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + response = self.c.post(url,{},follow=True) + self.assertEqual(response.status_code,200) + + i = GraphImage.objects.filter(workout=self.wotw) + self.assertEqual(len(i),0) + + + @patch('rowers.tasks.rdata') @patch('rowers.tasks.FigureCanvas') def test_otw_plots(self, mocked_rowingdata, mocked_canvas): diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 5c234b30..4a5328d4 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -5170,7 +5170,12 @@ class GraphDelete(DeleteView): def get_success_url(self): w = self.object.workout - return reverse('workout_edit_view',kwargs={'id':str(w.id)}) + try: + w = Workout.objects.get(id=w.id) + except Workout.DoesNotExist: + return reverse('workouts_view') + + return reverse('workout_edit_view',kwargs={'id':encoder.encode_hex(w.id)}) def get_object(self, *args, **kwargs): obj = super(GraphDelete, self).get_object(*args, **kwargs)