def test_response_success_has_type_and_value(response_value): '''instantiate response from value and check whether the type is success and the value of the response object is the same as the value passed in''' response = res.ResponseSuccess(response_value) '''type of response object is used as the indicator of success or failure represented as a string''' assert response.type == res.ResponseSuccess.SUCCESS assert response.value == response_value
def test_get(mock_use_case, client): mock_use_case().execute.return_value = res.ResponseSuccess(rooms) http_response = client.get('/rooms') assert json.loads(http_response.data.decode('UTF-8')) == [room_dict] args, kwargs = mock_use_case().execute.call_args assert args[0].filters == {} assert http_response.status_code == 200 assert http_response.mimetype == 'application/json'
def execute(self, request): if not request: return res.ResponseFailure.build_from_invalid_request_object( request) try: rooms = self.repo.list(filters=request.filters) return res.ResponseSuccess(rooms) except Exception as exc: return res.ResponseFailure.build_system_error("{}: {}".format( exc.__class__.__name__, "{}".format(exc)))
def execute(self, request_object): if not request_object: return res.ResponseFailure.build_from_invalid_request_object( request_object) try: rooms = self.repo.list(filters=request_object.filters) except Exception as ex: return res.ResponseFailure.build_system_error( f"{ex.__class__.__name__}: {str(ex)}") return res.ResponseSuccess(rooms)
def test_get_with_filters(mock_use_case, client): mock_use_case().execute.return_value = res.ResponseSuccess(rooms) http_response = client.get('/rooms?filter_price_gt=2&filter_price_lt=6') assert json.loads(http_response.data.decode('UTF-8')) == [room_dict] # mock_use_case().execute.assert_called_with() args, kwargs = mock_use_case().execute.call_args assert args[0].filters == {'price_gt': '2', 'price_lt': '6'} assert http_response.status_code == 200 assert http_response.mimetype == 'application/json'
def test_get_with_filters(mock_use_case, client): mock_use_case().execute.return_value = res.ResponseSuccess(rooms) http_response = client.get("/rooms?filter_price__gt=2&filter_price__lt=6") assert json.loads(http_response.data.decode("UTF-8")) == [room_dict] mock_use_case().execute.assert_called() args, kwargs = mock_use_case().execute.call_args assert args[0].filters == {"price__gt": "2", "price__lt": "6"} assert http_response.status_code == 200 assert http_response.mimetype == "application/json"
def test_get(mock_use_case, client): mock_use_case().execute.return_value = res.ResponseSuccess(rooms) http_response = client.get("/rooms") assert json.loads(http_response.data.decode("UTF-8")) == [room_dict] mock_use_case().execute.assert_called() args, kwargs = mock_use_case().execute.call_args assert args[0].filters == {} # args[0] is RequestObject assert http_response.status_code == 200 assert http_response.mimetype == "application/json"
def test_response_success_has_type_and_value(response_value): response = res.ResponseSuccess(response_value) assert response.type == res.ResponseSuccess.SUCCESS assert response.value == response_value
def test_response_success_is_true(): assert bool(res.ResponseSuccess()) is True