def test_is_ajax(self): request = self.factory.post(self.url) view = Vote(request=request) with patch.object(request, 'is_ajax') as is_ajax: is_ajax.return_value = True self.assertTrue(view.is_ajax()) is_ajax.assert_called_once() is_ajax.reset_mock() is_ajax.return_value = False self.assertFalse(view.is_ajax()) is_ajax.assert_called_once()
def test_next_page(self, is_ajax): view = Vote(request=self.factory.post(self.url)) is_ajax.return_value = True self.assertIsNone(view.next_page()) is_ajax.return_value = False request = self.factory.post(self.url) request.META['HTTP_REFERER'] = '/foo/bar/' view = Vote(request=request) self.assertEqual(view.next_page(), '/foo/bar/') view = Vote(request=self.factory.post(self.url, {'next': '/w/t/f/'})) self.assertEqual(view.next_page(), '/w/t/f/')
def test_json(self): message = 'got it!' response = HttpResponse(content=message, status=123) res = Vote().to_json(response) self.assertEqual(res.status_code, response.status_code) self.assertEqual(res['Content-Type'], 'application/json') data = json.loads(res.content) self.assertEqual(data['status'], response.status_code) self.assertEqual(data['message'], message)
def setUp(self): super(ViewTest, self).setUp() self.view = Vote.as_view() self.factory = RequestFactory() self.url = '/polls/vote'