"""Test Processor.""" from unittest.mock import call, Mock, patch from src.processors.base.payment_batch_processor import PaymentBatchProcessor from src.processors.base.processor import Processor from tests.unit.factories import ( EventFactory, PaymentGroupFactory, ) mock_event = EventFactory.build(statment_period_id=305) mock_group = PaymentGroupFactory.build() class TestProcessor: """Processor test suite.""" @patch.object(Processor, '_get_eligible_account_batch_data') @patch.object(PaymentBatchProcessor, '__init__') @patch.object(PaymentBatchProcessor, 'process') def test__process_batch( self, mock_batch_process: Mock, mock_batch_init: Mock, mock__get_eligible_account_batch_data: Mock, ) -> None: """Test process batch.""" mock__get_eligible_account_batch_data.return_value = [] mock_batch_init.return_value = None Processor(mock_group, mock_event)._process_batch(1) mock__get_eligible_account_batch_data.assert_called_once_with(1) mock_batch_init.assert_called_once_with(mock_event, []) mock_batch_process.assert_called_once() @patch.object(Processor, '_process_batch') def test_process(self, mock_process_batch: Mock) -> None: """Test process success.""" mock_process_batch.return_value = None test_processor = Processor(mock_group, mock_event) test_processor._total_count = 205 test_processor.process() mock_process_batch.assert_has_calls([call(0), call(100), call(200)])