
    Yaj                        d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d
 Zd ZddZddZddZdS )    )annotations)confirm_create_budget_account)confirm_create_category)get_budget_data_explorerget_category_analysis_v2)get_monthly_comparison)get_budget_vs_actual_analysis)confirm_budget_transaction)connect_memory)apply_migrationsc                 @    t                      } t          |            | S )N)r   r   )conns    *tests/unit/test_budget_ux_foundation_v3.pydbr      s    D-d333D[    c                   t          | dddd          d         }t          | ddd          d         }t          | d	d
d          d         }t          | |d
dd	ddd|dd	           t          | |dddddd|dd	           d S )NHaushaltcheckingCHF)nameaccount_typecurrency	entity_idzEssen & Haushaltexpense)r   category_typeLohnincomez
2026-05-01Arbeitgeberz100.00manual)	
account_idtransaction_typetransaction_datedescriptionpayeeamount_originalcurrency_originalcategory_idsource_typez
2026-05-02EinkaufMigros25.00)r   r   r
   )r   accountfoodr   s       r   seedr.      s   +D:Waot2u2uvv  xC  DG"42DW`)a)abbcnoD$TFX+V+VWWXcdFtGQYo{  MS  ^k  @H  _d  u{  LT  &U  &U  V  V  VtGQZp|  NW  bj  F  ]b  sw  HP  &Q  &Q  R  R  R  R  Rr   datadictviewstrreturnNonec                   | d         d         |k    sJ | d         d         dk    sJ | d         d         sJ t          | d         t                    sJ t          | d         t                    sJ t          | d         t                    sJ t          | d	         t                    sJ t          | d
         t                    sJ t          | d         t                    sJ d S )Nmetar1   r   r   generated_atfilters_appliedtotalsseriesrowswarningserrors)
isinstancer0   list)r/   r1   s     r   assert_enveloper@      s    <4''''<
#u,,,,<''''d,-t44444d8nd+++++d8nd+++++d6lD)))))d:&-----d8nd+++++++r   c                 &   t                      } t          |            t          | ddd          }t          |d           |d         d         dk    sJ |d         d	         d
k    sJ |d         |d         k    sJ |d         d         dk    sJ d S )N2026z2026-05r   )yearmonthtypedata_explorerr8   rC   r9   transaction_count   r;   transactionskpisexpense_sum_chfr+   )r   r.   r   r@   )r   r/   s     r   =test_data_explorer_returns_analytics_envelope_and_legacy_keysrL   %   s    44Dd#DvYYWWWDD/***!"6*f4444>-.!3333<4/////<)*g555555r   c                    t                      } t          |            t          | dd          }t          | d          }t	          | d          }t          |d           |d         |d         k    sJ t          |d           |d         |d	         k    sJ t          |d
           |d         |d         k    sJ d S )NrB   r   )rC   tx_type)rC   category_analysisr;   
categoriesmonthly_comparisonmonthsbudget_vs_actualbudget_vs_actual_by_category)r   r.   r   r   r	   r@   )r   categorymonthlyrS   s       r   Dtest_category_monthly_and_budget_vs_actual_return_analytics_enveloperW   /   s    44Dd'69MMMH$T777G4TGGGH1222Fx55555G12226?gh/////$&8999F#'78V'WWWWWWWr   N)r/   r0   r1   r2   r3   r4   )r3   r4   )
__future__r   'jarvis_finance.services.budget_accountsr   )jarvis_finance.services.budget_categoriesr   ,jarvis_finance.services.budget_data_explorerr   r   (jarvis_finance.services.budget_analyticsr   +jarvis_finance.services.budget_analytics_v2r	   +jarvis_finance.services.budget_transactionsr
   jarvis_finance.storage.databaser   !jarvis_finance.storage.migrationsr   r   r.   r@   rL   rW    r   r   <module>rb      s   " " " " " " Q Q Q Q Q Q M M M M M M k k k k k k k k K K K K K K U U U U U U R R R R R R : : : : : : > > > > > >A A AR R R	, 	, 	, 	,6 6 6 6X X X X X Xr   