示例#1
0
    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()
示例#2
0
    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()
示例#3
0
    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")
示例#4
0
    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'))
示例#5
0
    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'))
示例#6
0
    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'))