示例#1
0
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)))
示例#4
0
 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'
示例#6
0
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"
示例#7
0
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"
示例#8
0
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
示例#9
0
def test_response_success_is_true():
    assert bool(res.ResponseSuccess()) is True