def test_converts_measurements_into_dictionaries(self, Measurement, JsonResponse, build_query): measurements = mock.Mock() Measurement.objects.filter.return_value = measurements response = views.api(self.request) Measurement.to_dict.assert_called_once_with(measurements.order_by())
def test_filters_mesurement_with_query(self, Measurement, JsonResponse, build_query): query = Query() build_query.return_value = query response = views.api(self.request) Measurement.objects.filter.assert_called_once_with(*query.args, **query.kwargs)
def test_returns_json_response(self, Measurement, JsonResponse, build_query): expected_response = mock.Mock() JsonResponse.return_value = expected_response response = views.api(self.request) self.assertEqual(response, expected_response)
def test_when_build_query_raises_an_exception_exception_status_set_to_300(self, Measurement, JsonResponse, build_query): exception = Exception('Invalid arguments') exception.errors = ['error1', 'error2'] build_query.side_effect = exception expected_response = {'status': 300, 'content': None, 'errors': exception.errors} response = views.api(self.request) JsonResponse.assert_called_once_with(expected_response)
def test_filters_mesurement_with_query(self, Measurement, JsonResponse, build_query): query = Query() build_query.return_value = query response = views.api(self.request) Measurement.objects.filter.assert_called_once_with( *query.args, **query.kwargs)
def test_response_content_is_set_to_the_measurements(self, Measurement, JsonResponse, build_query): self.request.GET['date'] = '2015-01-01' measurements = mock.Mock() Measurement.to_dict.return_value = measurements expected_dict = {'status': 200, 'content': measurements, 'errors': []} response = views.api(self.request) JsonResponse.assert_called_once_with(expected_dict)
def test_response_content_is_set_to_the_measurements( self, Measurement, JsonResponse, build_query): self.request.GET['date'] = '2015-01-01' measurements = mock.Mock() Measurement.to_dict.return_value = measurements expected_dict = {'status': 200, 'content': measurements, 'errors': []} response = views.api(self.request) JsonResponse.assert_called_once_with(expected_dict)
def test_when_build_query_raises_an_exception_exception_status_set_to_300( self, Measurement, JsonResponse, build_query): exception = Exception('Invalid arguments') exception.errors = ['error1', 'error2'] build_query.side_effect = exception expected_response = { 'status': 300, 'content': None, 'errors': exception.errors } response = views.api(self.request) JsonResponse.assert_called_once_with(expected_response)
def test_creates_query_with_request_args(self, Measurement, JsonResponse, build_query): response = views.api(self.request) build_query.assert_called_once_with(self.request.GET)