Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)