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