def test_deposit_item_get_invalid_deposit_id(self): with self.client: # Auth register_user(self, self.username, self.password) # Deposit Item Get API response = make_deposit_item_get_api_request( self, self.username, self.password, "a") self.assert404(response)
def test_deposit_item_update_invalid_deposit_id(self): with self.client: # Auth register_user(self, self.username, self.password) # Deposit Item Update API response = make_deposit_item_update_api_request( self, self.username, self.password, "a", {'amount': 1000}) self.assert404(response)
def test_nest_api_missing_input(self): """ One of the input is missing in request, here 'data' is empty. """ # Create user for auth register_user(self, self.username, self.password) # Call Nest Api response = make_nest_api_request(self, self.username, self.password, [], self.nesting_levels) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'failed') self.assert400(response)
def test_nest_api_invalid_input(self): """ One of the input has invalid value, here 'nesting_levels' has invalid level name. Level 'a' does not exists in actual data. """ # Create user for auth register_user(self, self.username, self.password) # Call Nest Api response = make_nest_api_request(self, self.username, self.password, self.data, ['a']) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'failed') self.assert400(response)
def test_deposit_list_post_invalid_input(self): """ One of the input is invalid in request, here 'amount' is List[str] instead of float. """ # Create user for auth register_user(self, self.username, self.password) # Call Deposit Insert API data = self.data[0] data.update({'amount': [20]}) response = make_deposit_list_post_api_request(self, self.username, self.password, data) data = json.loads(response.data.decode()) self.assert400(response)
def test_deposit_list_post_request(self): """ Insert's deposits in database with API """ with self.client: register_user(self, self.username, self.password) response = make_deposit_list_post_api_request( self, self.username, self.password, self.data[0]) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'success') self.assertEqual(response.status_code, 201) self.assertEqual(data.get('message'), 'Deposited!')
def test_deposit_list_post_missing_input(self): """ One of the input is missing in request, here 'currency' is None. """ # Create user for auth register_user(self, self.username, self.password) # Call Deposit Insert API data = self.data[0] data.update({'currency': None}) response = make_deposit_list_post_api_request(self, self.username, self.password, data) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'failed') self.assert400(response)
def test_nest_api(self): """ Valid request to Nest API """ with self.client: # Create user for auth register_user(self, self.username, self.password) # Call Nest Api response = make_nest_api_request(self, self.username, self.password, self.data, self.nesting_levels) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'success') self.assert200(response) self.assertEqual(data.get('data', {}), self.expected_response)
def test_deposit_list_get_request(self): """ Validates number of deposits done by the user and returned by the api """ with self.client: register_user(self, self.username, self.password) self._insert_data() response = make_deposit_list_get_api_request( self, self.username, self.password) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'success') self.assert200(response) self.assertEqual(len(data.get('data', [])), len(self.data))
def test_deposit_item_get_api(self): with self.client: # Auth register_user(self, self.username, self.password) # Insert Deposit response = make_deposit_list_post_api_request( self, self.username, self.password, self.data[0]) data = json.loads(response.data.decode()) deposit_id = data.get('data', {}).get('id') self.assertIsNotNone(deposit_id) # Fetch deposit by id response = make_deposit_item_get_api_request( self, self.username, self.password, deposit_id) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'success') self.assert200(response) self.assertEqual(data.get('data', {}).get('id'), deposit_id)
def test_deposit_item_delete_api(self): # Auth register_user(self, self.username, self.password) # Insert Deposit response = make_deposit_list_post_api_request(self, self.username, self.password, self.data[0]) data = json.loads(response.data.decode()) deposit_id = data.get('data', {}).get('id') self.assertIsNotNone(deposit_id) # Delete deposit response = make_deposit_item_delete_api_request( self, self.username, self.password, deposit_id) data = json.loads(response.data.decode()) message = data.get('message') expected_message = "Deleted deposit with id : {0}".format(deposit_id) self.assertEqual(message, expected_message) self.assert200(response)
def test_deposit_item_update_api(self): # Auth register_user(self, self.username, self.password) # Insert Deposit response = make_deposit_list_post_api_request(self, self.username, self.password, self.data[0]) data = json.loads(response.data.decode()) deposit_id = data.get('data', {}).get('id') data.get('data', {}).get('amount') self.assertIsNotNone(deposit_id) # Update Amount response = make_deposit_item_update_api_request( self, self.username, self.password, deposit_id, {'amount': 1000}) data = json.loads(response.data.decode()) self.assertEqual(data.get('status'), 'success') self.assert200(response) self.assertEqual(data.get('data', {}).get('id'), deposit_id) self.assertEqual(data.get('data', {}).get('amount'), 1000)