def test_find_by_category(self): """ Find Suppliers by Category """ suppliers = SupplierFactory.create_batch(3) suppliers[0].category = "home furnishings" suppliers[0].create() suppliers[1].category = "health & beauty" suppliers[1].create() suppliers[2].category = "health & beauty" suppliers[2].create() results = Supplier.find_by_category("health & beauty") logging.debug(results) self.assertNotEqual(results, []) self.assertEqual(results[0].category, "health & beauty")
def list_suppliers(): """ Returns all of the suppliers """ app.logger.info("Request for Supplier list") suppliers = [] name = request.args.get("name") category = request.args.get("category") if name: suppliers = Supplier.find_by_name(name) elif category: suppliers = Supplier.find_by_category(category) else: suppliers = Supplier.all() results = [supplier.serialize() for supplier in suppliers] return make_response(jsonify(results), status.HTTP_200_OK)
def get(self): """ Returns all of the Suppliers """ app.logger.info('Request to list Suppliers...') suppliers = [] args = supplier_args.parse_args() if args['category']: app.logger.info('Filtering by category: %s', args['category']) suppliers = Supplier.find_by_category(args['category']) elif args['name']: app.logger.info('Filtering by name: %s', args['name']) suppliers = Supplier.find_by_name(args['name']) elif args['preferred'] is not None: app.logger.info('Filtering by preferred: %s', args['preferred']) suppliers = Supplier.find_by_preferred(args['preferred']) else: suppliers = Supplier.all() app.logger.info('[%s] Suppliers returned', len(suppliers)) results = [supplier.serialize() for supplier in suppliers] return results, status.HTTP_200_OK