Esempio n. 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
Esempio n. 2
0
    def get(self):
        """ Returns all of the Customers """
        app.logger.info('Request for customers list...')
        customers = []
        args = customer_args.parse_args()

        if args['fname']:
            app.logger.info('Filtering by first name: %s', args['fname'])
            customers = Customer.find_by_first_name(args['fname'])
        elif args['lname']:
            app.logger.info('Filtering by last name: %s', args['lname'])
            customers = Customer.find_by_last_name(args['lname'])
        elif args['city']:
            app.logger.info('Filtering by city: %s', args['city'])
            customers = Address.find_by_city(args['city'])
        elif args['state']:
            app.logger.info('Filtering by state: %s', args['state'])
            customers = Address.find_by_state(args['state'])
        elif args['zip_code']:
            app.logger.info('Filtering by zip code: %s', args['zip_code'])
            customers = Address.find_by_zip(args['zip_code'])
        else:
            app.logger.info('Getting all customers')
            customers = Customer.all()

        results = [cust.serialize() for cust in customers]
        return results, status.HTTP_200_OK
 def test_queries(self):
     """ Find active/inactive customers with filter """
     cust = Customer(first_name="Peter",
                     last_name="Parker",
                     user_id="pparker",
                     password="******",
                     active=True)
     cust.save()
     addr = Address(apartment="1R",
                    city="Chicago",
                    state="Illinois",
                    street="6721 5th Ave",
                    zip_code="10030",
                    customer_id=cust.customer_id)
     addr.save()
     cust.address_id = addr.id
     cust.save()
     """ Find by first name """
     cust_fname = Customer.find_by_first_name(cust.first_name)
     self.assertEqual(cust_fname[0].customer_id, cust.customer_id)
     """ Find by last name """
     cust_lname = Customer.find_by_last_name(cust.last_name)
     self.assertEqual(cust_lname[0].customer_id, cust.customer_id)
     """ Find by status """
     cust_active = Customer.find_by_status(False)
     self.assertEqual(len(cust_active), 0)
     """ Find by city """
     cust_city = Address.find_by_city(cust.city)
     self.assertEqual(cust_city[0].customer_id, cust.customer_id)
     """ Find by state """
     cust_state = Address.find_by_state(cust.state)
     self.assertEqual(cust_state[0].customer_id, cust.customer_id)
     """ Find by zip code """
     cust_zip = Address.find_zip(cust.zip_code)
     self.assertEqual(cust_zip[0].customer_id, cust.customer_id)
Esempio n. 4
0
 def test_find_by_first_name(self):
     """ Find a Customer by First Name """
     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_first_name("John")
     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")
Esempio n. 5
0
 def test_find_by_first_name(self):
     """ Find a Customer by first name """
     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_first_name(first_name="P")
     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)