Пример #1
0
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'
Пример #3
0
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])
Пример #4
0
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'
    }
Пример #5
0
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'
    }
Пример #6
0
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'
Пример #7
0
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",
    }
Пример #8
0
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])