"""Tests for combined advances model.""" from decimal import Decimal from moneyhub.models import CombinedAdvances from tests.unit.conftest import using_mock_snowflake_table _MOCK_DATA = { 'combined_advances_dbt': [ { 'account_id': 24601, 'contract_id': 10001, 'statement_period_id': 123, 'advance_amount': 123.45, 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': 123.45, 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv1', }, { 'account_id': 24601, 'contract_id': 10002, 'statement_period_id': 123, 'advance_amount': 123.45, 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': 123.45, 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv2', }, { 'account_id': 99999, 'contract_id': 10003, 'statement_period_id': 123, 'advance_amount': 123.45, 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': 123.45, 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv3', }, { 'account_id': 24601, 'contract_id': 10002, 'statement_period_id': 124, 'advance_amount': 123.45, 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': 123.45, 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv4', }, ] } @using_mock_snowflake_table(CombinedAdvances, _MOCK_DATA) def test_get_by_account_and_statement_periods(): """Test to get ledger adjustments details for a specified account.""" expected = [ { 'account_id': 24601, 'contract_id': 10001, 'statement_period_id': 123, 'advance_amount': Decimal('123.45'), 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': Decimal('123.45'), 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv1', }, { 'account_id': 24601, 'contract_id': 10002, 'statement_period_id': 123, 'advance_amount': Decimal('123.45'), 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': Decimal('123.45'), 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv2', }, ] result = CombinedAdvances.get_by_account_and_statement_periods( 24601, [123], None) assert [item.to_dict() for item in result] == expected @using_mock_snowflake_table(CombinedAdvances, _MOCK_DATA) def test_get_account_advance_activity(): """Test to get advances activity for a specified account.""" expected = { 'account_id': 24601, 'contract_id': 10001, 'statement_period_id': 123, 'advance_amount': Decimal('123.45'), 'advance_currency_code': 'NOK', 'advance_amount_payee_currency': Decimal('123.45'), 'advance_payee_currency_code': 'NOK', 'advance_description': None, 'unique_key': 'adv1', } result = CombinedAdvances.get_account_advance_activity(24601) assert result.to_dict() == expected