"""Lambda test module.""" from unittest.mock import MagicMock from unittest.mock import patch from src.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 = { 'source': 'event.knrAccountCreation', 'vendor_id': 6971, 'forename': 'Forename - Mutation Test 1', 'middlename': 'middlename - Mutation Test 1', 'surname': 'Surname - Mutation Test 1' } mutation_result = { 'data': { 'createNrContributor': { 'forename': 'Forename - Mutation Test 1', 'middlename': ['middlename - Mutation Test 1'], 'surname': 'Surname - Mutation Test 1' } } } mock_graphql_execute.return_value = mutation_result result = index.handler(mock_event, None) assert result == mutation_result['data']['createNrContributor'] assert mock_graphql_set_headers.called mock_graphql_execute.assert_called_with( queries.create_contributor, { 'nrContributorInput': { 'forename': 'Forename - Mutation Test 1', 'middleNames': 'middlename - Mutation Test 1', 'surname': 'Surname - Mutation Test 1', 'vendorId': 6971 } }) @patch('config.app_logger') @patch('config.graphql_gateway.set_headers') @patch('config.graphql_gateway.execute') def test_skip_create_contributor( 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 = { 'source': 'event.knrAccountCreation', 'vendor_id': 6971, 'forename': None, 'middlename': None, 'surname': None } result = index.handler(mock_event, None) assert result == {'create_contributor': 'skipped'} assert not mock_graphql_set_headers.called assert not mock_graphql_execute.called