"""Tests for Flow class.""" from unittest import TestCase from unittest.mock import Mock from unittest.mock import patch from flows.distribution_fee.flow import Flow class FlowTest(TestCase): """Tets class for Flow class.""" def setUp(self): """Setup function.""" self.patched_tasks = patch('flows.distribution_fee.flow.tasks') self.tasks = self.patched_tasks.start() self.addCleanup(self.patched_tasks.stop) def test_decider(self): """Test decider function.""" flow = Flow('test', 'test_dist_fee', '1.0') schedule = Mock() flow.decider(schedule) activities = { 'create_temp_tables', 'load_vendor_contract', 'load_dist_fee', 'calculate_client_amount', 'update_distribution_fee_table', 'drop_temp_tables', 'set_dynamo_status', 'send_sns_notification'} for call in schedule.call_args_list: activities.remove(call[0][0]) assert not activities