Beispiel #1
0
    def get(self):
        """ Returns all of the Customers unless a query parameter is specified """
        app.logger.info('Request to list Customers...')
        customers = []
        app.logger.info("First time")
        # args = customer_args.parse_args()
        # change to request args to by pass the odd bug for reqparse
        args = request.args
        app.logger.info("Second time %s", args)
        if args.get('last_name'):
            app.logger.info('Filtering by last name: %s', args['last_name'])
            customers = Customer.find_by_last_name(args['last_name'])
        elif args.get('first_name'):
            app.logger.info('Filtering by first name: %s', args['first_name'])
            customers = Customer.find_by_first_name(args['first_name'])
        elif args.get('email'):
            app.logger.info('Filtering by email: %s', args['email'])
            customers = Customer.find_by_email(args['email'])
        elif args.get('address'):
            app.logger.info('Filtering by address: %s', args['address'])
            customers = Customer.find_by_address(args['address'])
        elif args.get('active'):
            app.logger.info('Filtering by active: %s', args['active'])
            customers = Customer.find_by_active(args['active'])
        else:
            customers = Customer.all()

        results = [customer.serialize() for customer in customers]
        app.logger.info('[%s] Customers returned', len(results))
        return results, status.HTTP_200_OK
Beispiel #2
0
 def test_find_by_email(self):
     """ Find Customers by Email """
     Customer(firstname="John",
              lastname="Doe",
              email="*****@*****.**",
              subscribed=False,
              address1="123 Main St",
              address2="1B",
              city="New York",
              country="USA",
              province="NY",
              zip="12310").save()
     Customer(firstname="Sarah",
              lastname="Sally",
              email="*****@*****.**",
              subscribed=False,
              address1="124 Main St",
              address2="1E",
              city="New York",
              country="USA",
              province="NY",
              zip="12310").save()
     customers = Customer.find_by_email("*****@*****.**")
     self.assertEqual(customers[0].email, "*****@*****.**")
     self.assertEqual(customers[0].firstname, "John")
     self.assertEqual(customers[0].lastname, "Doe")
     self.assertEqual(customers[0].subscribed, False)
     self.assertEqual(customers[0].address1, "123 Main St")
     self.assertEqual(customers[0].address2, "1B")
     self.assertEqual(customers[0].city, "New York")
     self.assertEqual(customers[0].province, "NY")
     self.assertEqual(customers[0].country, "USA")
     self.assertEqual(customers[0].zip, "12310")
Beispiel #3
0
 def test_find_by_email(self):
     """ Find a Customer by email """
     Customer(
         first_name="Some",
         last_name="Dude",
         email="*****@*****.**",
         address="House,Street,NotNewYork,GoodChoice",
         active=True,
     ).create()
     Customer(
         first_name="P",
         last_name="Sherman",
         email="*****@*****.**",
         address="42, Wallaby Way, Sydney, 'Straya",
         active=False,
     ).create()
     customers = Customer.find_by_email(email="*****@*****.**")
     self.assertEqual(customers[0].email, "*****@*****.**")
     self.assertEqual(customers[0].first_name, "P")
     self.assertEqual(customers[0].last_name, "Sherman")
     self.assertEqual(customers[0].address, "42, Wallaby Way, Sydney, 'Straya")
     self.assertEqual(customers[0].active, False)