From ff48cc143363ed81366b21f924951dac7ad7ed5a Mon Sep 17 00:00:00 2001 From: Alex Lubbock Date: Tue, 27 Aug 2024 23:01:44 +0100 Subject: [PATCH] test: plots in csv, html, html standalone formats (#52) * test: plots in csv, html, html standalone formats new unit tests for plots in non-json formats. * test: invalid plot format should throw HTTP 400 --- thunorweb/tests/test_plots.py | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/thunorweb/tests/test_plots.py b/thunorweb/tests/test_plots.py index ea14da90..9d8a542c 100644 --- a/thunorweb/tests/test_plots.py +++ b/thunorweb/tests/test_plots.py @@ -89,6 +89,69 @@ def test_time_course(self): ) self.assertEqual(resp.status_code, HTTP_OK) + def test_time_course_csv(self): + self.client.force_login(self.user) + url = reverse('thunorweb:ajax_plot', args=['csv']) + resp = self.client.get( + url, + {'plotType': 'tc', + 'datasetId': self.d.id, + 'c': self.groupings['cellLines'][0]['id'], + 'd': self.groupings['drugs'][0]['id'], + 'assay': self.groupings['dipAssay'] or '', + 'overlayDipFit': 'true', + 'logTransform': 'log2' + } + ) + self.assertEqual(resp.status_code, HTTP_OK) + + def test_time_course_html(self): + self.client.force_login(self.user) + url = reverse('thunorweb:ajax_plot', args=['html']) + resp = self.client.get( + url, + {'plotType': 'tc', + 'datasetId': self.d.id, + 'c': self.groupings['cellLines'][0]['id'], + 'd': self.groupings['drugs'][0]['id'], + 'assay': self.groupings['dipAssay'] or '', + 'overlayDipFit': 'true', + 'logTransform': 'log2' + } + ) + self.assertEqual(resp.status_code, HTTP_OK) + + def test_time_course_html_standalone(self): + self.client.force_login(self.user) + url = reverse('thunorweb:ajax_plot', args=['html']) + resp = self.client.get( + url, + {'plotType': 'tc', + 'datasetId': self.d.id, + 'c': self.groupings['cellLines'][0]['id'], + 'd': self.groupings['drugs'][0]['id'], + 'assay': self.groupings['dipAssay'] or '', + 'overlayDipFit': 'true', + 'logTransform': 'log2', + 'download': '1' + } + ) + self.assertEqual(resp.status_code, HTTP_OK) + + def test_invalid_format(self): + self.client.force_login(self.user) + url = reverse('thunorweb:ajax_plot', args=['pdf']) + resp = self.client.get( + url, + {'plotType': 'tc', + 'datasetId': self.d.id, + 'c': self.groupings['cellLines'][0]['id'], + 'd': self.groupings['drugs'][0]['id'], + 'assay': self.groupings['dipAssay'] or '' + } + ) + self.assertEqual(resp.status_code, HTTP_INVALID_REQUEST) + def test_time_course_invalid_cell_line(self): self.client.force_login(self.user) url = reverse('thunorweb:ajax_plot', args=['json'])