Esempio n. 1
0
def test_by_search(app, create_vendor, args, result):
    create_vendor("vendor_1", "product1")
    create_vendor("vendor_2", "product2")

    with app.test_request_context():
        vendors = VendorController.list_items(args)
    assert sorted([v.name for v in vendors]) == result
Esempio n. 2
0
def test_list_paginated(app, create_vendor):
    old = app.config["VENDORS_PER_PAGE"]
    app.config["VENDORS_PER_PAGE"] = 3

    create_vendor("vendor1", "product1")
    create_vendor("vendor2", "product2")
    create_vendor("vendor3", "product3")
    create_vendor("vendor4", "product4")

    with app.test_request_context():
        vendors = VendorController.list_items()
        assert sorted([v.name for v in vendors]) == ["vendor1", "vendor2", "vendor3"]
        vendors = VendorController.list_items({"page": 2})
        assert sorted([v.name for v in vendors]) == ["vendor4"]

    app.config["VENDORS_PER_PAGE"] = old
Esempio n. 3
0
def test_list(app, create_vendor):
    create_vendor("vendor1", "product1")
    create_vendor("vendor2", "product2")

    with app.test_request_context():
        vendors = VendorController.list_items()
    assert len(vendors) == 2
    assert sorted([v.name for v in vendors]) == ["vendor1", "vendor2"]
Esempio n. 4
0
def test_by_letter(app, create_vendor, args, result):
    create_vendor("foo", "product")
    create_vendor("bar", "product")
    create_vendor("baz", "product")

    with app.test_request_context():
        vendors = VendorController.list_items(args)
    assert sorted([v.name for v in vendors]) == result
Esempio n. 5
0
def vendors():
    vendors, _, pagination = VendorController.list(request.args)
    return render_template(
        "vendors.html",
        vendors=vendors,
        letters=get_vendors_letters(),
        pagination=pagination,
    )
Esempio n. 6
0
def vendors():
    vendors, _, pagination_v = VendorController.list(request.args)
    products, _, pagination_p = ProductController.list(request.args)

    return render_template(
        "vendors.html",
        vendors=vendors,
        products=products,
        pagination_v=pagination_v,
        pagination_p=pagination_p,
    )
Esempio n. 7
0
    def build_query(cls, args):
        vendor = VendorController.get({"name": args.get("vendor")})

        query = Product.query.filter_by(vendor=vendor)

        # Search by term
        if args.get("search"):
            search = args.get("search").lower().replace("%",
                                                        "").replace("_", "")
            query = query.filter(Product.name.like("%{}%".format(search)))

        return query, {}
Esempio n. 8
0
    def build_query(cls, args):
        if "vendor" in args:
            vendor = VendorController.get({"name": args.get("vendor")})
            query = cls.model.query.filter_by(vendor=vendor)
        else:
            query = cls.model.query

        # Search by term
        if args.get("search"):
            search = (args.get("search").lower().replace("%", "").replace(
                "_", "").replace(" ", "_"))
            query = query.filter(Product.name.like("%{}%".format(search)))

        return query, {}
Esempio n. 9
0
 def get(cls, filters):
     vendor = VendorController.get({"name": filters.get("vendor")})
     return super(ProductController, cls).get({
         "vendor_id": vendor.id,
         "name": filters.get("product")
     })
Esempio n. 10
0
 def get(self, name):
     VendorController.get({"name": name})
     return CveController.list_items({**request.args, "vendor": name})
Esempio n. 11
0
 def get(self, name):
     return VendorController.get({"name": name})
Esempio n. 12
0
 def get(self):
     return VendorController.list_items(request.args)
Esempio n. 13
0
def test_metas(app):
    with app.test_request_context():
        _, metas, _ = VendorController.list()
    assert metas == {}
Esempio n. 14
0
def test_letter_not_found(app):
    with app.test_request_context():
        with pytest.raises(NotFound):
            VendorController.list_items({"letter": "$"})