Ejemplo n.º 1
0
def test_repo_list_with_code_equal_filter(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    repo_rooms = repo.list(
        filters={'code__eq': 'eed76e77-55c1-41ce-985d-ca49bf6c0585'})
    assert len(repo_rooms) == 1
    assert repo_rooms[0].code == 'eed76e77-55c1-41ce-985d-ca49bf6c0585'
def test_repository_list_with_code_equal_filter(room_dicts):
    repo = memrepo.MemRepo(room_dicts)
    repo_rooms = repo.list(
        filters={'code__eq': 'fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a'}
    )
    assert len(repo_rooms) == 1
    assert repo_rooms[0].code == 'fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a'
Ejemplo n.º 3
0
def test_repository_list_with_price_equal_filter(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    repo_rooms = repo.list(filters={"price__eq": 60})

    assert len(repo_rooms) == 1
    assert repo_rooms[0].code == "913694c6-435a-4366-ba0d-da5334a611b2"
Ejemplo n.º 4
0
def test_repository_list_with_filters_size(storagerooms):
    repo = memrepo.MemRepo(storagerooms)

    _check_results(repo.list(filters={'size': 93}), [storageroom4])
    _check_results(repo.list(filters={'size__eq': 93}), [storageroom4])
    _check_results(repo.list(filters={'size__lt': 60}), [storageroom3])
    _check_results(repo.list(filters={'size__gt': 400}), [storageroom2])
Ejemplo n.º 5
0
def test_repository_list_with_price_between_filter(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    repo_rooms = repo.list(filters={'price__lt': 66, 'price__gt': 48})

    assert len(repo_rooms) == 1
    assert repo_rooms[0].code == '913694c6-435a-4366-ba0d-da5334a611b2'
Ejemplo n.º 6
0
def test_repository_list_price_as_strings(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    repo.list(filters={'price__eq': '60'})

    repo.list(filters={'price__lt': '60'})

    repo.list(filters={'price__gt': '60'})
Ejemplo n.º 7
0
def test_repository_list_with_filters_price(storagerooms):
    repo = memrepo.MemRepo(storagerooms)

    _check_results(repo.list(filters={'price': 60}), [storageroom3])
    _check_results(repo.list(filters={'price__eq': 60}), [storageroom3])
    _check_results(repo.list(filters={'price__lt': 60}),
                   [storageroom1, storageroom4])
    _check_results(repo.list(filters={'price__gt': 60}), [storageroom2])
Ejemplo n.º 8
0
def test_repository_list_with_price_greater_than_filter(room_dicts):
    repo = memrepo.MemRepo(room_dicts)
    repo_rooms = repo.list(filters={'price__gt': 48})
    assert len(repo_rooms) == 2
    assert set([room.code for room in repo_rooms]) == {
        '913694c6-435a-4366-ba0d-da5334a611b2',
        'fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a'
    }
Ejemplo n.º 9
0
def test_repository_list_with_price_less_than_filter(room_dicts):
    repo = memrepo.MemRepo(room_dicts)
    repo_rooms = repo.list(filters={'price__lt': 60})
    assert len(repo_rooms) == 2
    assert set([room.code for room in repo_rooms]) == {
        'f853578c-fc0f-4e65-81b8-566c5dffa35a',
        'eed76e77-55c1-41ce-985d-ca49bf6c0585'
    }
Ejemplo n.º 10
0
def room():
    repo = mr.MemRepo([room1, room2, room3])
    use_case = uc.RoomListUseCase(repo)
    result = use_case.execute()

    return Response(json.dumps(result, cls=ser.RoomJsonEncoder),
                    mimetype='application/json',
                    status=200)
Ejemplo n.º 11
0
def test_repository_list_price_as_strings(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    repo.list(filters={"price__eq": "60"})

    repo.list(filters={"price__lt": "60"})

    repo.list(filters={"ptice__gt": "60"})
Ejemplo n.º 12
0
def test_repo_list_with_price_between(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    repo_rooms = repo.list(filters={
        'price__gt': 48,
        'price__lt': 66,
    })
    assert len(repo_rooms) == 1
    assert set([r.code for r in repo_rooms
                ]) == {'913694c6-435a-4366-ba0d-da5334a611b2'}
Ejemplo n.º 13
0
def room():
    query_str_params = {"filters": {}}
    for arg, values in request.args.items():
        if arg.startswith("filter_"):
            query_str_params["filters"][arg.replace("filter_", "")] = values
    request_object = req.RoomListRequestObject.from_dict(query_str_params)

    repo = mr.MemRepo([room1, room2, room3])
    use_case = uc.RoomListUseCase(repo)
    response = use_case.execute(request_object)

    return Response(
        json.dumps(response.value, cls=ser.RoomJsonEncoder),
        mimetype="application/json",
        status=STATUS_CODES[response.type],
    )
Ejemplo n.º 14
0
def storageroom():
    qrystr_params = {
        'filters': {},
    }

    for arg, values in request.args.items():
        if arg.startswith('filter_'):
            qrystr_params['filters'][arg.replace('filter_', '')] = values

    request_object = req.StorageRoomListRequestObject.from_dict(qrystr_params)

    repo = mr.MemRepo([storageroom1, storageroom2, storageroom3])
    use_case = uc.StorageRoomListUseCase(repo)

    response = use_case.execute(request_object)

    return Response(json.dumps(response.value, cls=ser.StorageRoomEncoder),
                    mimetype='application/json',
                    status=STATUS_CODES[response.type])
Ejemplo n.º 15
0
    def on_get(self, request, response):
        qrystr_params = {
            'filters': {},
        }
        for arg, values in request.params.items():
            if arg.startswith('filter_'):
                qrystr_params['filters'][arg.replace('filter_', '')] = values

        request_object = req.StorageRoomListRequestObject.from_dict(
            qrystr_params)
        repo = mr.MemRepo([
            first_storageroom,
            second_storageroom,
            third_storageroom,
        ])
        use_case = uc.StorageRoomListUseCase(repo)
        response_result = use_case.execute(request_object)

        response.body = json.dumps(response_result.value,
                                   cls=ser.StorageRoomEncoder)
        response.set_header('mimetype', 'application/json')
        response.set_header('Powered-By', 'Falcon')
        response.status = STATUS_CODES[response_result.type]
Ejemplo n.º 16
0
def test_repository_list_with_filters_unknown_operator(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)

    with pytest.raises(ValueError):
        repo.list(filters={'price__in': [20, 30]})
Ejemplo n.º 17
0
def test_repository_list_without_parameters(storagerooms):
    repo = memrepo.MemRepo(storagerooms)

    assert repo.list() == storagerooms
Ejemplo n.º 18
0
def test_repository_list_with_filters_size_lt(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)
    _check_results(repo.list(filters={'size__lt': 60}), [storageroom_dicts[2]])
Ejemplo n.º 19
0
def test_repository_list_without_parameters(room_dicts):
    repo = memrepo.MemRepo(room_dicts)

    rooms = [r.Room.from_dict(i) for i in room_dicts]

    assert repo.list() == rooms
Ejemplo n.º 20
0
def test_repository_list_with_filters_code(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)

    _check_results(
        repo.list(filters={'code': '913694c6-435a-4366-ba0d-da5334a611b2'}),
        [storageroom_dicts[2]])
Ejemplo n.º 21
0
from rentomatic.repository import memrepo as mr
from rentomatic.use_cases import room_list_use_case as uc

room1 = {
    'code': 'f853578c-fc0f-4e65-81b8-566c5dffa35a',
    'size': 215,
    'price': 39,
    'longitude': -0.09998975,
    'latitude': 51.75436293,
}
room2 = {
    'code': 'fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a',
    'size': 405,
    'price': 66,
    'longitude': 0.18228006,
    'latitude': 51.74640997,
}
room3 = {
    'code': '913694c6-435a-4366-ba0d-da5334a611b2',
    'size': 56,
    'price': 60,
    'longitude': 0.27891577,
    'latitude': 51.45994069,
}

repo = mr.MemRepo([room1, room2, room3])
use_case = uc.RoomListUseCase(repo)
result = use_case.execute()

print([room.to_dict() for room in result])
Ejemplo n.º 22
0
def test_repository_list_without_parameters(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)

    _check_results(repo.list(), storageroom_dicts)
Ejemplo n.º 23
0
def test_repository_list_with_filters_unknown_key(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)

    with pytest.raises(KeyError):
        repo.list(filters={'name': 'aname'})
Ejemplo n.º 24
0
def test_repository_list_with_filters_price_gt(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)
    _check_results(repo.list(filters={'price__gt': 60}),
                   [storageroom_dicts[1]])
Ejemplo n.º 25
0
def test_repository_list_with_filters_size_eq(storageroom_dicts):
    repo = memrepo.MemRepo(storageroom_dicts)
    _check_results(repo.list(filters={'size__eq': 93}), [storageroom_dicts[3]])