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
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")
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)