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_price_greater_than_filter(room_dicts): repo = memrepo.MemRepo(room_dicts) repo_rooms = repo.list( filters={'price__gt': 48} ) assert len(repo_rooms) == 2
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_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
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([r.code for r in repo_rooms]) == { 'f853578c-fc0f-4e65-81b8-566c5dffa35a', 'eed76e77-55c1-41ce-985d-ca49bf6c0585'}
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_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'})
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])