
    djH                       d dl mZ d dlZd dlmc mZ d dlm	Z	 d dl
Z
d dlZd dlmZ d dlZ ee                                          j        d         Zedz  Z ed          d e
j                     d	 e
j                     z  Zed
z  dz  Z ed                                                                          ZdD ]Ze
j                            e          Zer ee                                                                          Zeek    s	eej        v r ej        e d           ed                                          egej        R vr ej        e d          de
j        d<    e e          e
j        d<    e e          e
j        d<   de
j        d<    e e          ej!        vr$ej!        "                    d  e e                      ej#        dd          dd            Z$ej#        d d            Z%dS )!    )annotationsN)date)Path   srcz/tmpzfinancemanager-pytest--datazfinance.sqlite3z~/jarvis_runtime/finance-system)JARVIS_FINANCE_RUNTIME_DIRJARVIS_FINANCE_DB_PATHz0 points at the productive FinanceManager runtimez  must point below /tmp for teststestJARVIS_FINANCE_ENVr
   r   JARVIS_FINANCE_WRITE_MODEsessionT)scopeautousereturnr   c                     ddl m}  ddlm} t          j                            dd            | t                    }	  ||           |                                 n# |                                 w xY wt          S )zEMake every default API dependency use a disposable schema below /tmp.r   )connect)apply_migrationsT)parentsexist_ok)jarvis_finance.storage.databaser   !jarvis_finance.storage.migrationsr   TEST_DBparentmkdirclose)r   r   conns      ]/home/agent/.hermes/worktrees/FinanceManager-sprint8-readonly-render-hotfix/tests/conftest.pyisolated_runtime_databaser    !   s     877777BBBBBBN55577D



Ns   A A5monkeypatchpytest.MonkeyPatchr   c                    ddl m}  G d dt                    }|                     |d|           |                                S )z>Keep budget tests anchored to their synthetic May 2026 ledger.r   )budget_overviewc                  &    e Zd Zedd            ZdS ),budget_reference_date.<locals>.ReferenceDater   ReferenceDatec                     | ddd          S )Ni         )clss    r   todayz2budget_reference_date.<locals>.ReferenceDate.today8   s    3tQ###    N)r   r'   )__name__
__module____qualname__classmethodr-   r+   r.   r   r'   r&   7   s2        		$ 	$ 	$ 
	$ 	$ 	$r.   r'   r   )jarvis_finance.servicesr$   r   setattrr-   )r!   r$   r'   s      r   budget_reference_dater5   1   sl     877777$ $ $ $ $ $ $ $
 ???   r.   )r   r   )r!   r"   r   r   )&
__future__r   builtins@py_builtins_pytest.assertion.rewrite	assertionrewrite
@pytest_ardatetimer   ossyspathlibr   pytest__file__resolver   ROOTSRCgetuidgetpidTEST_RUNTIMEr   
expanduserPRODUCTIVE_RUNTIMEvariableenvironget
configuredresolved
UsageErrorstrpathinsertfixturer    r5   r+   r.   r   <module>rU      s   " " " " " "                     				 



       tH~~'*
UltF||Ryry{{RRYRY[[RRR

"3
3T;<<GGIIQQSS H S SH))J S4
##..0088::)))-?8CS-S-S#&#x$a$a$abbb4<<!!()FX5E)F)FFF#&#x$Q$Q$QRRR#)
  +.3|+<+<
' ('*s7||
# $*0
& '3s8838HOOAss3xx    i...   /. ! ! ! ! ! !r.   