"""Test event_handling logic.""" from unittest.mock import patch from content_utils.exceptions import IneligibleEventError import pytest from src.logic import event_handling @patch('src.logic.event_handling.get_asset_revisions') @patch('src.logic.event_handling.apply_corrections') def test_processing_logic_success( mock_apply_corrections, mock_get_asset_revisions): """Test processing logic success.""" mock_get_asset_revisions.return_value = [ {'table_name': 'track', 'field_name': 'track', 'key_id': 1, 'key_value': 'abc'}, {'table_name': 'releases', 'field_name': 'coverart', 'key_id': 2, 'key_value': 'abc'} ] event_handling.processing_logic(1, 1) mock_get_asset_revisions.assert_called_once_with(1) mock_apply_corrections.assert_called_once() @patch('src.logic.event_handling.get_asset_revisions') @patch('src.logic.event_handling.apply_corrections') def test_processing_logic_throws( mock_apply_corrections, mock_get_asset_revisions): """Test processing logic fail.""" mock_get_asset_revisions.return_value = [] with pytest.raises(IneligibleEventError) as e: event_handling.processing_logic(1, 1) assert e.value.args[0] == 'No asset revisions found in release correction' mock_get_asset_revisions.assert_called_once_with(1) mock_apply_corrections.assert_not_called()