def get_products(): """Servicio de búsqueda de productos: Devuelve un listado de productos utilizando varios de sus atributos como filtros""" keys = ['text', 'units', 'min_price', 'max_price', 'longitude', 'latitude', 'min_distance', 'max_distance', 'categories', 'payment_methods', 'seller'] single_value_keys = ['units', 'min_price', 'max_price', 'longitude', 'latitude', 'seller', 'latitude', 'longitude', 'min_distance', 'max_distance'] params = request.args.to_dict(flat=False) filters = dict() for key in keys: if key in params: if key in single_value_keys: filters[key] = params[key][0] else: filters[key] = params[key] products = ProductsService.get_products(filters) return jsonify(count=len(products), result=products), 200
def test_get_products_if_none_found_raises_not_found_error(pm_mock): filters = dict() pm_mock.return_value = [] with pytest.raises(NotFoundError): ProductsService.get_products(filters)