def test_find_by_availability(self): """ Find Pets by Category """ Pet(name="fido", category="dog", available=True).create() Pet(name="kitty", category="cat", available=False).create() Pet(name="fifi", category="dog", available=True).create() pets = Pet.find_by_availability(False) pet_list = [pet for pet in pets] self.assertEqual(len(pet_list), 1) self.assertEqual(pets[0].name, "kitty") self.assertEqual(pets[0].category, "cat") pets = Pet.find_by_availability(True) pet_list = [pet for pet in pets] self.assertEqual(len(pet_list), 2)
def test_find_by_availability(self): """ Find a Pet by Availability """ Pet("fido", "dog", False).save() Pet("kitty", "cat", True).save() pets = Pet.find_by_availability(True) self.assertEqual(len(pets), 1) self.assertEqual(pets[0].name, "kitty")
def list_pets(): """ Returns all of the Pets """ app.logger.info('Request to list Pets...') pets = [] category = request.args.get('category') name = request.args.get('name') available = request.args.get('available') if available: # convert to boolean available = available.lower() in ['true', 'yes', '1'] if category: app.logger.info('Find by category: %s', category) pets = Pet.find_by_category(category) elif name: app.logger.info('Find by name: %s', name) pets = Pet.find_by_name(name) elif available: app.logger.info('Find by available: %s', available) pets = Pet.find_by_availability(available) else: app.logger.info('Find all') pets = Pet.all() app.logger.info('[%s] Pets returned', len(pets)) results = [pet.serialize() for pet in pets] return make_response(jsonify(results), status.HTTP_200_OK)
def list_pets(): """Returns all of the Pets""" app.logger.info("Request for pet list") pets = [] category = request.args.get("category") name = request.args.get("name") available = request.args.get("available") gender = request.args.get("gender") if category: app.logger.info("Filtering by category: %s", category) pets = Pet.find_by_category(category) elif name: app.logger.info("Filtering by name:%s", name) pets = Pet.find_by_name(name) elif available: app.logger.info("Filtering by available: %s", available) is_available = available.lower() in ["yes", "y", "true", "t", "1"] pets = Pet.find_by_availability(is_available) elif gender: app.logger.info("Filtering by gender: %s", gender) pets = Pet.find_by_gender(gender) else: pets = Pet.all() results = [pet.serialize() for pet in pets] app.logger.info("Returning %d pets", len(results)) return make_response(jsonify(results), status.HTTP_200_OK)
def test_find_by_availability(self): """It should Find Pets by Availability""" pets = PetFactory.create_batch(10) for pet in pets: pet.create() available = pets[0].available count = len([pet for pet in pets if pet.available == available]) found = Pet.find_by_availability(available) self.assertEqual(found.count(), count) for pet in found: self.assertEqual(pet.available, available)
def test_find_by_availability(self): """Find a Pet by Availability""" pets = self._create_pets(5) available = pets[0].available available_count = len( [pet for pet in pets if pet.available == available]) logging.debug("Looking for %d Pets where availabe is %s", available_count, available) found_pets = Pet.find_by_availability(available) self.assertEqual(len(found_pets), available_count) for pet in found_pets: self.assertEqual(pet.available, available)
def list_pets(): """ Returns all of the Pets """ app.logger.info('Request for List Pets') pets = [] category = request.args.get('category') name = request.args.get('name') available = request.args.get('available') if category: pets = Pet.find_by_category(category) elif name: pets = Pet.find_by_name(name) elif available: pets = Pet.find_by_availability(available) else: pets = Pet.all() results = [pet.serialize() for pet in pets] return make_response(jsonify(results), status.HTTP_200_OK)
def get(self): """ Returns all of the Pets """ app.logger.info('Request to list Pets...') pets = [] category = request.args.get('category') name = request.args.get('name') available = request.args.get('available') if category: pets = Pet.find_by_category(category) elif name: pets = Pet.find_by_name(name) elif available: pets = Pet.find_by_availability(available) else: pets = Pet.all() app.logger.info('[%s] Pets returned', len(pets)) results = [pet.serialize() for pet in pets] return results, status.HTTP_200_OK
def get(self): """ Returns all of the Pets """ app.logger.info('Request to list Pets...') pets = [] args = pet_args.parse_args() if args['category']: app.logger.info('Filtering by category: %s', args['category']) pets = Pet.find_by_category(args['category']) elif args['name']: app.logger.info('Filtering by name: %s', args['name']) pets = Pet.find_by_name(args['name']) elif args['available'] is not None: app.logger.info('Filtering by availability: %s', args['available']) pets = Pet.find_by_availability(args['available']) else: pets = Pet.all() app.logger.info('[%s] Pets returned', len(pets)) results = [pet.serialize() for pet in pets] return results, status.HTTP_200_OK
def get(self): """ Returns all of the Pets """ app.logger.info('Request to list Pets...') pets = [] category = request.args.get('category') name = request.args.get('name') available = request.args.get('available') if category: app.logger.info('Filtering by category: %s', category) pets = Pet.find_by_category(category) elif name: app.logger.info('Filtering by name:%s', name) pets = Pet.find_by_name(name) elif available: app.logger.info('Filtering by available: %s', available) is_available = available.lower() in ['yes', 'y', 'true', 't', '1'] pets = Pet.find_by_availability(is_available) else: pets = Pet.all() app.logger.info('[%s] Pets returned', len(pets)) results = [pet.serialize() for pet in pets] return results, status.HTTP_200_OK