def test_export_to_gsheet_no_silo(self, mock_gsheet_helper): mock_gsheet_helper.return_value = [] url = reverse('export_new_gsheet', kwargs={'id': 0}) with self.assertRaises(ObjectDoesNotExist): request = self.factory.get(url, follow=True) request.user = self.tola_user.user gviews_v4.export_to_gsheet(request, 0) mock_gsheet_helper.assert_not_called()
def test_export_to_gsheet_wrong_query_type(self, mock_gsheet_helper): query = ["test"] mock_gsheet_helper.return_value = [] url = reverse('export_new_gsheet', kwargs={'id': self.silo.pk}) + \ '?&query='+str(query)+'&shown_cols=["yr", "rank", "opn"]' with self.assertRaises(ValueError): request = self.factory.get(url, follow=True) request.user = self.tola_user.user gviews_v4.export_to_gsheet(request, self.silo.pk) mock_gsheet_helper.assert_not_called()
def test_export_to_gsheet_redirect_uri(self, mock_gsheet_helper): spreadsheet_id = None query = {} expected_cols = ['cnt', 'grs', 'tit', 'rank', 'opn', 'yr'] url = reverse('export_new_gsheet', kwargs={'id': self.silo.pk}) request = self.factory.get(url, follow=True) setattr(request, 'session', {}) mock_gsheet_helper.return_value = [{ "level": 123, "msg": "Requires Google Authorization Setup", "redirect": "redirect_url", "redirect_uri_after_step2": True }] request.user = self.tola_user.user response = gviews_v4.export_to_gsheet(request, self.silo.pk) mock_gsheet_helper.assert_called_once_with(self.tola_user.user, spreadsheet_id, self.silo.pk, query, expected_cols) self.assertEqual(response.status_code, 302) self.assertEqual(response.url, "redirect_url")
def test_export_to_gsheet(self, mock_gsheet_helper): spreadsheet_id = None query = {} cols = [] mock_gsheet_helper.return_value = [] url = reverse('export_new_gsheet', kwargs={'id': self.silo.pk}) + \ '?&query='+str(query)+'&shown_cols='+str(cols) request = self.factory.get(url, follow=True) request.user = self.tola_user.user response = gviews_v4.export_to_gsheet(request, self.silo.pk) mock_gsheet_helper.assert_called_once_with(self.tola_user.user, spreadsheet_id, self.silo.pk, query, cols) self.assertEqual(response.status_code, 302) self.assertEqual(response.url, reverse('listSilos'))
def test_export_to_gsheet_with_query(self, mock_gsheet_helper): query = {"$or": [{"First_Name": {"$nin": ["1", 1.0, 1]}}]} expected_cols = [] mock_gsheet_helper.return_value = [] url = reverse('export_new_gsheet', kwargs={'id': self.silo.pk}) + \ '?&query={"$or": [{"First_Name": {"$nin": ["1", 1.0, 1]}}]}' \ '&shown_cols=[]' request = self.factory.get(url, follow=True) request.user = self.tola_user.user response = gviews_v4.export_to_gsheet(request, self.silo.pk) mock_gsheet_helper.assert_called_once_with(self.tola_user.user, None, self.silo.pk, query, expected_cols) self.assertEqual(response.status_code, 302) self.assertEqual(response.url, reverse('listSilos'))
def test_export_to_gsheet_no_params(self, mock_gsheet_helper): spreadsheet_id = None query = {} expected_cols = ['cnt', 'grs', 'tit', 'rank', 'opn', 'yr'] mock_gsheet_helper.return_value = [] url = reverse('export_new_gsheet', kwargs={'id': self.silo.pk}) request = self.factory.get(url, follow=True) request.user = self.tola_user.user response = gviews_v4.export_to_gsheet(request, self.silo.pk) mock_gsheet_helper.assert_called_once_with(self.tola_user.user, spreadsheet_id, self.silo.pk, query, expected_cols) self.assertEqual(response.status_code, 302) self.assertEqual(response.url, reverse('listSilos'))