Exemple #1
0
 def test_find_by_is_active(self):
     """ Find a Supplier by is_active """
     Supplier("supplier1", 2, True, [1, 2, 3], 8.5).save()
     Supplier("supplier2", 4, False, [1, 3, 5, 7], 6.5).save()
     suppliers = Supplier.find_by_is_active(True)
     self.assertEqual(len(suppliers), 1)
     self.assertEqual(suppliers[0].name, "supplier1")
     self.assertEqual(suppliers[0].like_count, 2)
     self.assertEqual(suppliers[0].is_active, True)
     self.assertEqual(len(suppliers[0].products), 3)
     self.assertEqual(suppliers[0].rating, 8.5)
Exemple #2
0
    def get(self):
        """ Returns all of the suppliers """
        app.logger.info('Request to list Suppliers...')

        name = request.args.get('name')
        is_active = request.args.get('is_active')
        rating = request.args.get('rating')
        product_id = request.args.get('product_id')
        like_count = request.args.get('like_count')

        if name:
            app.logger.info('Find suppliers by name: %s', name)
            suppliers = Supplier.find_by_name(name)
        elif like_count:
            app.logger.info('Find suppliers with rating greater than: %s',
                            rating)
            like_count = int(like_count)
            suppliers = Supplier.find_by_greater("like_count", like_count)
        elif is_active:
            app.logger.info('Find suppliers by is_active: %s', is_active)
            is_active = (is_active == 'true')
            suppliers = Supplier.find_by_is_active(is_active)
        elif rating:
            app.logger.info('Find suppliers with rating greater than: %s',
                            rating)
            rating = float(rating)
            suppliers = Supplier.find_by_greater("rating", rating)
        elif product_id:
            app.logger.info(
                'Find suppliers containing product with id %s in their products',
                product_id)
            product_id = int(product_id)
            suppliers = [
                supplier for supplier in Supplier.all()
                if product_id in supplier.products
            ]
        else:
            app.logger.info('Find all suppliers')
            suppliers = Supplier.all()

        app.logger.info('[%s] Suppliers returned', len(suppliers))
        results = [supplier.serialize() for supplier in suppliers]
        app.logger.info("Returning %d suppliers", len(results))
        return results, status.HTTP_200_OK