Пример #1
0
def get_current_inventory():
    keys = list(request.args.keys())
    for key in keys:
        if key != 'name' and key != 'size' and key != 'style' and key != 'availability':
            return "Bad parameter given!", 400

    name = request.args.get('name')
    size = request.args.get('size')
    style = request.args.get('style')
    availability = request.args.get('availability')

    filter = FilterDS(name=name,
                      size=size,
                      style=style,
                      availability=availability)
    beers = []
    filtered_inventory = queries.get_filtered_inventory(filter)
    if filtered_inventory:
        for beer in filtered_inventory:
            beers.append({
                'name': beer.name,
                'size': beer.size,
                'style': beer.style,
                'quantity': beer.quantity,
                'price': beer.price
            })
        return json.dumps(beers)

    else:
        return json.dumps([])
Пример #2
0
def test_multiple_beers_name_filter_false():
    query = make_test_inventory_query("three.csv")
    filter_ds = FilterDS(name="Guinness")
    assert not query.get_filtered_inventory(filter_ds)
Пример #3
0
def test_multiple_beers_name_filter_true():
    query = make_test_inventory_query("three.csv")
    filter_ds = FilterDS(name="Bells Best Brown")
    assert len(query.get_filtered_inventory(filter_ds)) == 1
Пример #4
0
def test_one_beer_name_filter_false():
    query = make_test_inventory_query("single_positive_quantity.csv")
    filter_ds = FilterDS(name="Guinness")
    assert not query.get_filtered_inventory(filter_ds)
Пример #5
0
def test_one_beer_name_filter_true():
    query = make_test_inventory_query("single_positive_quantity.csv")
    filter_ds = FilterDS(name="Bells Best Brown")
    assert query.get_filtered_inventory(
        filter_ds)[0].name == "Bells Best Brown"
Пример #6
0
def test_all_attributes_match():
    test_beer = Beer("Guinness", "12/12 OZ. BTL", "Stout", "30.00", 2)
    test_ds = FilterDS("12/12 OZ. BTL", "Stout", "Guinness", 2)
    test_filter = build(test_ds)
    assert test_filter.is_match(test_beer) is True
Пример #7
0
def test_attribute_mismatch_fails():
    test_beer = Beer("Guinness", "12/12 OZ. BTL", "Stout", "30.00", 2)
    test_ds = FilterDS("24/12 OZ. CAN", "College", "Natty Light", 0)
    test_filter = build(test_ds)
    assert test_filter.is_match(test_beer) is False
Пример #8
0
def test_filter_with_package_filter():
    ds_filter = FilterDS(size='keg')
    assert ds_filter.size == 'keg'
    assert ds_filter.style is None
Пример #9
0
def test_filter_with_no_filters():
    ds_filter = FilterDS()
    assert ds_filter.size is None
    assert ds_filter.style is None
Пример #10
0
def test_filter_with_both_filters():
    ds_filter = FilterDS(size='keg', style='porter')
    assert ds_filter.size == 'keg'
    assert ds_filter.style == 'porter'
Пример #11
0
def test_filter_with_style_filter():
    ds_filter = FilterDS(style='porter')
    assert ds_filter.size is None
    assert ds_filter.style == 'porter'