"""Reference signing entity logic tests.""" from unittest.mock import patch from moneyhub.logic import payment_entity as logic @patch('moneyhub.logic.payment_entity.models') def test_get_vat_data_by_payment_entity_and_statement_period(mock_models): """Test get_vat_data_by_payment_entity_and_statement_period method.""" payment_entity_id = 1 statement_period_id = 285 query_result = { 'vat_rate': 20.00, 'account_id': 1, 'vat_category': 1, 'payment_entity_id': 1 } expected_result = { 'vat_data': True } mock_models.LedgerVatSummary.\ get_by_payment_entity_and_activity_statement_period.return_value = query_result result = logic.get_vat_data_by_payment_entity_and_statement_period( payment_entity_id, statement_period_id) assert result == expected_result mock_models.LedgerVatSummary.get_by_payment_entity_and_activity_statement_period.assert_called_once_with( # noqa: E501 payment_entity_id, statement_period_id) @patch('moneyhub.logic.payment_entity.models') def test_get_vat_data_by_payment_entity_and_statement_period_no_ledger_vat_summary_data( mock_models): """Test get method no ledger_vat_summary data.""" payment_entity_id = 1 statement_period_id = 285 query_result = { 'gross_vat': 20.00, 'contract_id': 1, 'account_id': 1, 'vat_category': 1, 'payment_entity_id': 1, 'accounting_run_id': 1, 'accounting_period_id': 1 } expected_result = { 'vat_data': True } mock_models.LedgerVatSummary.\ get_by_payment_entity_and_activity_statement_period.return_value = None mock_models.LedgerAccountingRunVat.\ get_by_payment_entity_and_statement_period.return_value = query_result result = logic.get_vat_data_by_payment_entity_and_statement_period( payment_entity_id, statement_period_id) assert result == expected_result mock_models.LedgerVatSummary.get_by_payment_entity_and_activity_statement_period.assert_called_once_with( # noqa: E501 payment_entity_id, statement_period_id) mock_models.LedgerAccountingRunVat.get_by_payment_entity_and_statement_period.\ assert_called_once_with(payment_entity_id, statement_period_id)