def test_delete_a_customer(self): """ Delete a Customer """ customer = Customer( first_name="Harry", last_name="Potter", email="*****@*****.**", address="9 3/4 Gryffindor Lane", active=True, ) customer.create() self.assertEqual(len(Customer.all()), 1) customer.delete() self.assertEqual(len(Customer.all()), 0)
def test_key_error_on_delete(self, bad_mock): """ Test KeyError on delete """ bad_mock.side_effect = KeyError() customer = Customer(firstname="John", lastname="Doe", email="*****@*****.**", subscribed=False, address1="123 Main St", address2="1B", city="New York", country="USA", province="NY", zip="12310") customer.create() customer.delete()
def test_document_not_exist(self, bad_mock): """ Test a Bad Document Exists """ bad_mock.return_value = False customer = Customer(firstname="John", lastname="Doe", email="*****@*****.**", subscribed=False, address1="123 Main St", address2="1B", city="New York", country="USA", province="NY", zip="12310") customer.create() self.assertIsNone(customer.id)
def test_http_error(self, bad_mock): """ Test a Bad Create with HTTP error """ bad_mock.side_effect = HTTPError() customer = Customer(firstname="John", lastname="Doe", email="*****@*****.**", subscribed=False, address1="123 Main St", address2="1B", city="New York", country="USA", province="NY", zip="12310") customer.create() self.assertIsNone(customer.id)
def post(self): """ Creates a Customer This endpoint will create a Customer based the data in the body that is posted """ app.logger.info('Request to Create a Customer') customer = Customer() app.logger.debug('Payload = %s', api.payload) customer.deserialize(api.payload) customer.create() app.logger.info('Customer with new id [%s] saved!', customer.id) location_url = api.url_for(CustomerResource, customer_id=customer.id, _external=True) return customer.serialize(), status.HTTP_201_CREATED, { 'Location': location_url }
def test_add_a_customer(self): """Create a customer and add it to the database""" customers = Customer.all() self.assertEqual(customers, []) customer = Customer( first_name="John", last_name="Doe", email="*****@*****.**", address="456 Bronx Ave", active=True, ) self.assertTrue(customer is not None) self.assertEqual(customer.id, None) customer.create() # Assert that it was assigned an id and shows up in the database self.assertEqual(customer.id, 1) customers = Customer.all() self.assertEqual(len(customers), 1)
def test_update_a_customer(self): """ Update a Customer """ customer = Customer( first_name="John", last_name="Smith", email="*****@*****.**", address="123 Brooklyn Ave", active=True, ) customer.create() self.assertEqual(customer.id, 1) # Change it an update it customer.address = "Times Sq 42nd St" customer.update() self.assertEqual(customer.id, 1) # Fetch it back and make sure the id hasn't changed # but the data did change customers = Customer.all() self.assertEqual(len(customers), 1) self.assertEqual(customers[0].address, "Times Sq 42nd St")