def test_delete_customer(self):
     """
     Test that delete_customer function works
     """
     Customer.create(customer_id='1564',
                     name='First',
                     lastname='Last',
                     home_address='12 1st st, Seattle, WA 98101',
                     phone_number='5551251255',
                     email_address='*****@*****.**',
                     status=True,
                     credit_limit=150.00)
     Customer.create(customer_id='2',
                     name='First2',
                     lastname='Last2',
                     home_address='12 2nd st, Seattle, WA 98101',
                     phone_number='5551251252',
                     email_address='*****@*****.**',
                     status=True,
                     credit_limit=152.00)
     db_query = Customer.get_by_id('1564')
     self.assertEqual(db_query.customer_id, '1564')
     self.assertEqual(Customer.select().count(), 2)
     try:
         b_o.delete_customer('doesnt exist')
     except Exception as exception:  # pylint: disable=W0703
         self.fail(
             "delete_customer() raised {} unexpectedly".format(exception))
     b_o.delete_customer('1564')
     self.assertEqual(Customer.select().count(), 1)
     with self.assertRaises(peewee.DoesNotExist):
         Customer.get_by_id('1564')
 def test_list_active_customers(self):
     """
     Test that list_active_customers() returns correct amount of active customers
     """
     active_count = b_o.list_active_customers()
     self.assertEqual(active_count, 0)
     Customer.create(customer_id='1564',
                     name='First',
                     lastname='Last',
                     home_address='12 1st st, Seattle, WA 98101',
                     phone_number='5551251255',
                     email_address='*****@*****.**',
                     status=True,
                     credit_limit=150.00)
     active_count = b_o.list_active_customers()
     self.assertEqual(active_count, 1)
     Customer.create(customer_id='2',
                     name='First2',
                     lastname='Last2',
                     home_address='12 2nd st, Seattle, WA 98101',
                     phone_number='5551251252',
                     email_address='*****@*****.**',
                     status=False,
                     credit_limit=152.00)
     active_count = b_o.list_active_customers()
     self.assertEqual(active_count, 1)
示例#3
0
def add_customer(
        customer_id,
        name,
        lastname,
        home_address,
        phone_number,  # pylint: disable=R0913
        email_address,
        status,
        credit_limit):
    """
    This function will add a new customer to the sqlite3 database.
    """
    try:
        new_customer = Customer.create(customer_id=customer_id,
                                       name=name,
                                       lastname=lastname,
                                       home_address=home_address,
                                       phone_number=phone_number,
                                       email_address=email_address,
                                       status=status,
                                       credit_limit=credit_limit)
        new_customer.save()
    except peewee.IntegrityError as exception:
        if 'unique' in str(exception).lower():
            LOGGER.warning(
                'Tried to add a customer_id that already exists: %s',
                customer_id)
            raise peewee.IntegrityError(
                'Tried to add a customer_id that already exists: {}'.format(
                    customer_id))
        LOGGER.debug("Integrity Error in add_customer: %s", str(exception))
    except Exception as exception:
        LOGGER.debug('add_customer exception: %s', str(exception))
        raise Exception('add_customer raised this error: {}'.format(
            str(exception)))
 def test_search_customer(self):
     """
     Test that add_customer function works and returns empty dictionary if doesn't exist
     """
     Customer.create(customer_id='1564',
                     name='First',
                     lastname='Last',
                     home_address='12 1st st, Seattle, WA 98101',
                     phone_number='5551251255',
                     email_address='*****@*****.**',
                     status=True,
                     credit_limit=150.00)
     self.assertEqual(len(b_o.search_customer("doesn't exist")), 0)
     db_query = b_o.search_customer('1564')
     self.assertEqual(db_query['name'], 'First')
     self.assertEqual(db_query['lastname'], 'Last')
     self.assertEqual(db_query['phone_number'], '5551251255')
     self.assertEqual(db_query['email_address'], '*****@*****.**')
 def test_update_credit_limit(self):
     """
     Test that update_credit_limit() function works
     """
     Customer.create(customer_id='1564',
                     name='First',
                     lastname='Last',
                     home_address='12 1st st, Seattle, WA 98101',
                     phone_number='5551251255',
                     email_address='*****@*****.**',
                     status=True,
                     credit_limit=150.00)
     db_query = Customer.get_by_id('1564')
     self.assertEqual(db_query.credit_limit, 150.00)
     b_o.update_customer_credit('1564', 200.20)
     db_query = Customer.get_by_id('1564')
     self.assertEqual(float(db_query.credit_limit), 200.20)
     with self.assertRaises(ValueError):
         b_o.update_customer_credit("Value Fail", 500)
示例#6
0
def add_customer(customer_id, name, lastname, home_address, phone_number,
                 email_address, status, credit_limit):
    """Add new customer to database"""
    try:
        new_customer = Customer.create(customer_id=customer_id,
                                       first_name=name,
                                       last_name=lastname,
                                       address=home_address,
                                       phone=phone_number,
                                       email=email_address,
                                       status=status,
                                       credit_limit=credit_limit)
        new_customer.save()
        LOGGER.info('New customer saved!')
    except peewee.IntegrityError:
        LOGGER.info(
            f'Customer ID {customer_id} had issues, may already exist in the database'
        )
        raise