Exemple #1
0
 def test_query_by_rating(self):
     """ Test query by rating """
     Supplier(supplierName="Walmart",
              address="NYC",
              averageRating=5,
              productIdList=['1', '2', '3']).save()
     Supplier(supplierName="Costco",
              address="SF",
              averageRating=2,
              productIdList=['1', '3', '4']).save()
     suppliers = Supplier.find_by_rating(5)
     self.assertEqual(len(suppliers), 1)
     supplier = suppliers[0]
     self.assertEqual(supplier.supplierName, "Walmart")
     self.assertEqual(supplier.address, "NYC")
     self.assertEqual(supplier.averageRating, 5)
     self.assertEqual(supplier.productIdList, ['1', '2', '3'])
Exemple #2
0
    def get(self):
        """ Returns all of the Suppliers """
        app.logger.info('Request to list Suppliers...')
        suppliers = []
        # args = supplier_args.parse_args()
        rating = request.args.get('rating')
        averageRating = request.args.get('averageRating')
        if rating:
            app.logger.info('Filtering by rating: %s', rating)
            suppliers = Supplier.find_by_rating(rating)
            if len(suppliers) == 0:
                return '', status.HTTP_400_BAD_REQUEST
        elif averageRating:
            app.logger.info('Filtering by rating: %s', averageRating)
            suppliers = Supplier.find_by_equals_to_rating(averageRating)
            if len(suppliers) == 0:
                return '', status.HTTP_400_BAD_REQUEST
        else:
            suppliers = Supplier.all()

        app.logger.info('[%s] suppliers returned', len(suppliers))
        results = [json.loads(supplier.to_json()) for supplier in suppliers]
        return results, status.HTTP_200_OK