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'
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"
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])
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'
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'})
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])
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' }
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' }
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)
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"})
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'}
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], )
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])
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]
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]})
def test_repository_list_without_parameters(storagerooms): repo = memrepo.MemRepo(storagerooms) assert repo.list() == storagerooms
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]])
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
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]])
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])
def test_repository_list_without_parameters(storageroom_dicts): repo = memrepo.MemRepo(storageroom_dicts) _check_results(repo.list(), storageroom_dicts)
def test_repository_list_with_filters_unknown_key(storageroom_dicts): repo = memrepo.MemRepo(storageroom_dicts) with pytest.raises(KeyError): repo.list(filters={'name': 'aname'})
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]])
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]])