def test_find_by_gender(self): """ Find Pets by Category """ Pet(name="fido", category="dog", available=True, gender=Gender.Male).create() Pet( name="kitty", category="cat", available=False, gender=Gender.Female ).create() Pet(name="fifi", category="dog", available=True, gender=Gender.Male).create() pets = Pet.find_by_gender(Gender.Female) 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_gender(Gender.Male) pet_list = [pet for pet in pets] self.assertEqual(len(pet_list), 2)
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_gender(self): """Find a Pet by Gender""" pets = self._create_pets(5) gender = pets[0].gender gender_count = len([pet for pet in pets if pet.gender == gender]) logging.debug("Looking for %d Pets where gender is %s", gender_count, gender) found_pets = Pet.find_by_gender(gender.name) self.assertEqual(len(found_pets), gender_count) for pet in found_pets: self.assertEqual(pet.gender, gender)
def test_find_by_gender(self): """It should Find Pets by Gender""" pets = PetFactory.create_batch(10) for pet in pets: pet.create() gender = pets[0].gender count = len([pet for pet in pets if pet.gender == gender]) found = Pet.find_by_gender(gender) self.assertEqual(found.count(), count) for pet in found: self.assertEqual(pet.gender, gender)