示例#1
0
def test_repository_list_with_filters_size(storagerooms):
    repo = mem_repo.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])
示例#2
0
def test_repository_list_with_filters_price(storagerooms):
    repo = mem_repo.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])
示例#3
0
def storageroom():
    qrystr_params = {
        'filters': {},
    }

    for arg, values in request.args.items():
        if arg.startswith('filter_'):
            qrystr_params['filters'][arg.replace('filter_', '')] = values

    request_obj = ro.StorageRoomListRequestObject.from_dict(qrystr_params)
    repo = mr.MemRepo([
        storageroom1,
        storageroom2,
        storageroom3,
    ])
    use_case = uc.StorageRoomListUseCase(repo)
    response_obj = use_case.execute(request_obj)
    return Response(json.dumps(response_obj.value, cls=ser.StorageRoomEncoder),
                    mimetype='application/json',
                    status=STATUS_CODES[response_obj.type])
示例#4
0
def test_repository_list_with_filters_code(storagerooms):
    repo = mem_repo.MemRepo(storagerooms)

    _check_results(
        repo.list(filters={'code': '913694c6-435a-4366-ba0d-da5334a611b2'}),
        [storageroom3])
示例#5
0
def test_repository_list_with_filters_unknown_operator(storagerooms):
    repo = mem_repo.MemRepo(storagerooms)

    with pytest.raises(ValueError):
        repo.list(filters={'price__in': [20, 30]})
示例#6
0
def test_repository_list_with_filters_unknown_key(storagerooms):
    repo = mem_repo.MemRepo(storagerooms)

    with pytest.raises(KeyError):
        repo.list(filters={'name': 'aname'})
示例#7
0
def test_repository_list_without_parameters(storagerooms):
    repo = mem_repo.MemRepo(storagerooms)

    assert repo.list() == storagerooms