"""Lambda test module.""" from unittest.mock import MagicMock from unittest.mock import patch from constants import queries from src import app as index @patch('config.app_logger') @patch('config.graphql_gateway.set_headers') @patch('config.graphql_gateway.execute') def test_handler( mock_graphql_execute, mock_graphql_set_headers, mock_current_logger ): """Test handler function.""" mock_logger = MagicMock(name='info') mock_current_logger.return_value = mock_logger mock_event = { 'vendor_id': 123, 'vendor_name': 'ArtistName', 'country': 'USA', 'currency': 'USD' } abacus_mutation_result = { 'data': { 'abacusCreateAccount': { 'accountId': '123', 'accountName': 'ArtistName', 'accountPaymentTerm': { 'currencyCode': 'GBP', 'paymentMinimum': '100.00', 'paymentSchedule': '45_days_after_month_end' }, 'contracts': [{ 'contractId': '5678', 'contractName': 'ArtistName', 'contractType': 'distribution' }], 'payee': {'payeeId': '9876543'} } } } mock_graphql_execute.return_value = abacus_mutation_result result = index.handler(mock_event, None) assert result == abacus_mutation_result['data']['abacusCreateAccount'] assert mock_graphql_set_headers.called mock_graphql_execute.assert_called_with( queries.abacus_create_account, {'data': { 'accountId': '123', 'accountName': 'ArtistName', 'countryOfTaxResidence': 'USA', 'currencyCode': 'USD', 'contractTemplateId': '1', }} )