
    j                    P    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	dZ
d	dZy)
    )annotations)create_alert)check_missing_fx)connect_memory)apply_migrationsc                     t               } t        |        t        | ddd      }| j                  d|f      j	                         }t        |      dddk(  sJ y )Nwichtigdata_qualityzDemo warning)prioritycategorymessagez6SELECT priority, category FROM alerts WHERE alert_id=?)r   r   )r   r   r   executefetchonedict)connalert_idrows      tests/unit/test_quality.pytest_create_alertr   	   sX    DTD9~WefH
,,ORZQ\
]
f
f
hC9YNKKKK    c                    t               } t        |        | j                  d       | j                  d       | j                  d       t        |       dk(  sJ | j                  d      j	                         }|d   dk(  sJ |d   d	k(  sJ y )
NzcINSERT INTO platforms(platform_id,name,platform_type,created_at) VALUES('p1','Demo','broker','now')z|INSERT INTO accounts(account_id,platform_id,account_name,account_type,created_at) VALUES('a1','p1','Demo','brokerage','now')z
        INSERT INTO transactions(transaction_id,transaction_type,account_id,trade_date,currency_original,fx_status,source_type,created_at)
        VALUES('t1','buy','a1','2026-01-01','USD','missing','manual','now')
       z.SELECT priority, category, rule_id FROM alertsr   kritischr   fx)r   r   r   r   r   )r   r   s     r   &test_missing_fx_creates_critical_alertr      s    DTLLvwLL  P  QLL  	 D!Q&&&
,,G
H
Q
Q
SCz?j(((z?d"""r   N)returnNone)
__future__r   jarvis_finance.quality.alertsr   jarvis_finance.quality.checksr   jarvis_finance.storage.databaser   !jarvis_finance.storage.migrationsr   r   r    r   r   <module>r$      s    " 6 : : >L#r   