def test_repository_list_with_price_between_filter(docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup["mongo"]) 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_with_code_equal_filter(docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup['mongo']) 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_without_parameters( docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup['mongo']) repo_rooms = repo.list() assert set([r.code for r in repo_rooms]) == \ set([r['code'] for r in mg_data])
def test_repository_list_with_price_as_string(docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup['mongo']) 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_with_price_greater_than_filter( docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup['mongo']) repo_rooms = repo.list(filters={'price__gt': 48}) assert len(repo_rooms) == 2 assert set([r.code for r in repo_rooms]) == { '913694c6-435a-4366-ba0d-da5334a611b2', 'fe2c3195-aeff-487a-a08f-e0bdc0ec6e9a' }
def test_repository_list_with_price_equal_filter( docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup['mongo']) 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_less_than_filter(docker_setup, mg_data, mg_database): repo = mongorepo.MongoRepo(docker_setup["mongo"]) 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 room(): qrystr_params = { 'filters': {}, } for arg, values in request.args.items(): if arg.startswith('filter_'): qrystr_params['filters'][arg.replace('filter_', '')] = values request_object = req.RoomListRequestObject.from_dict(qrystr_params) repo = mr.MongoRepo(connection_data) 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])