def test_repository_list_with_price_equal_filter(room_dicts): repo = MemRepo(room_dicts) rooms = repo.list(filters={"price__eq": 60}) assert len(rooms) == 1 assert rooms[0].code == "913694c6-435a-4366-ba0d-da5334a611b2"
def test_repository_list_with_code_equal_filter(room_dicts): repo = MemRepo(room_dicts) rooms = repo.list( filters={"code__eq": "fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a"}) assert len(rooms) == 1 assert rooms[0].code == "fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a"
def test_repository_list_with_price_greater_than_filter(room_dicts): repo = MemRepo(room_dicts) rooms = repo.list(filters={"price__gt": 48}) assert len(rooms) == 2 assert set([r.code for r in rooms]) == { "913694c6-435a-4366-ba0d-da5334a611b2", "fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a", }
def test_repository_list_with_price_less_than_filter(room_dicts): repo = MemRepo(room_dicts) rooms = repo.list(filters={"price__lt": 60}) assert len(rooms) == 2 assert set([r.code for r in rooms]) == { "f853578c-fc0f-4e65-81b8-566c5dffa35a", "eed76e77-55c1-41ce-985d-ca49bf6c0585", }
def room_list(): repo = MemRepo(rooms) result = room_list_use_case(repo) return Response(json.dumps(result, cls=RoomJsonEncoder), mimetype="application/json", status=200)
def storageroom(): request_object = StorageRoomListRequestObject.from_dict({}) repo = MemRepo() use_case = StorageRoomListUseCase(repo) response = use_case.execute(request_object) return Response(json.dumps(response.value, cls=StorageRoomEncoder), status=200)
def repo(self, storagerooms): return MemRepo(storagerooms)
"latitude": 51.75436293, }, { "code": "fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a", "size": 405, "price": 66, "longitude": 0.18228006, "latitude": 51.74640997, }, { "code": "913694c6-435a-4366-ba0d-da5334a611b2", "size": 56, "price": 60, "longitude": 0.27891577, "latitude": 51.45994069, }, { "code": "eed76e77-55c1-41ce-985d-ca49bf6c0585", "size": 93, "price": 48, "longitude": 0.33894476, "latitude": 51.39916678, }, ] repo = MemRepo(rooms) request = build_room_list_request() response = room_list_use_case(repo, request) print([room.to_dict() for room in response.value])
def test_repository_list_price_as_strings(room_dicts): repo = 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_price_between_filter(room_dicts): repo = MemRepo(room_dicts) rooms = repo.list(filters={"price__lt": 66, "price__gt": 48}) assert len(rooms) == 1 assert rooms[0].code == "913694c6-435a-4366-ba0d-da5334a611b2"
def test_repository_list_without_parameters(room_dicts): repo = MemRepo(room_dicts) rooms = [Room.from_dict(i) for i in room_dicts] assert repo.list() == rooms
from rentomatic.repository.memrepo import MemRepo from rentomatic.use_cases.room_list_use_case import RoomListUseCase 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 = MemRepo([room1, room2, room3]) use_case = RoomListUseCase(repo) result = use_case.execute() print([room.to_dict() for room in result])