Ë
    ê8iæ  ã                   ór   — d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZ  G d„ de«      Zy	)
é    )ÚDecimal)ÚIntegrityErrorÚtransaction)ÚTestCase)ÚDepositÚGatewayCallbackLogÚPaymentAddressÚWithdrawalRequest)ÚTransaction)ÚUserc                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚPaymentsModelTestsc                 óR   — t         j                  j                  ddd¬«      | _        y )Ni90  ÚAliceÚalice)Útelegram_user_idÚ
first_nameÚusername)r   ÚobjectsÚcreate_userÚuser)Úselfs    úP/home/cursorai/projects/telegram-earn/backend/apps/payments/tests/test_models.pyÚsetUpzPaymentsModelTests.setUp   s&   € Ü—L‘L×,Ñ,Ø"ØØð -ó 
ˆ�	ó    c                 ód  — t         j                  j                  | j                  dddddi¬«      }| j	                  |j
                  t         j                  «       | j	                  |j                  d«       | j                  dt        |«      «       | j	                  |j                  d   d«       | j                  t        «      5  t        j                  «       5  t         j                  j                  | j                  ddd¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚtronÚUSDTÚTRON_ADDR_1ÚlabelÚprimary)r   Ú
blockchainÚassetÚaddressÚmetadata©r   r"   r#   r$   )r	   r   Úcreater   ÚassertEqualÚstatusÚSTATUS_ACTIVEr#   ÚassertInÚstrr%   ÚassertRaisesr   r   Úatomic)r   r$   s     r   Ú0test_payment_address_defaults_and_unique_addresszCPaymentsModelTests.test_payment_address_defaults_and_unique_address   sò   € Ü ×(Ñ(×/Ñ/Ø—‘ØØØ!Ø˜yÐ)ð 0ó 
ˆð 	×Ñ˜Ÿ™¬×)EÑ)EÔFØ×Ñ˜Ÿ™¨Ô/Ø�‰�fœc '›lÔ+Ø×Ñ˜×)Ñ)¨'Ñ2°IÔ>à×Ñœ~Õ.Ü×#Ñ#Õ%Ü×&Ñ&×-Ñ-ØŸ™Ø%Ø Ø)ð	 .ô ÷ &÷ /Ð.ß%Ð%ú÷ /Ð.ús$   ÃD&Ã.DÄ	D&ÄD#	ÄD&Ä&D/c                 óì  — t         j                  j                  | j                  ddd¬«      }t        j                  j                  | j                  |ddt        d«      dddi¬	«      }| j                  |j                  t        j                  «       | j                  |j                  d
«       | j                  |j                  d   d«       | j                  dt        |«      «       | j                  t        «      5  t        j                   «       5  t        j                  j                  | j                  |ddt        d«      d¬«       d d d «       d d d «       t         j                  j                  | j                  ddd¬«      }t        j                  j                  | j                  |ddt        d«      d¬«      }| j                  |j"                  d«       y # 1 sw Y   Œ“xY w# 1 sw Y   Œ—xY w)Nr   r   ÚTRON_ADDR_2r&   z10.00000000ztx-abcÚfromÚsender)r   r$   r"   r#   ÚamountÚtransaction_hashÚraw_payloadr   r   z5.00©r   r$   r"   r#   r4   r5   ÚbnbÚ
BSC_ADDR_1z3.00)r	   r   r'   r   r   r   r(   r)   ÚSTATUS_PENDINGÚconfirmationsr6   r+   r,   r-   r   r   r.   r"   )r   r$   ÚdepositÚother_addressÚdeposit_other_chains        r   Ú*test_deposit_unique_per_chain_and_defaultsz=PaymentsModelTests.test_deposit_unique_per_chain_and_defaults/   s­  € Ü ×(Ñ(×/Ñ/Ø—‘ØØØ!ð	 0ó 
ˆô —/‘/×(Ñ(Ø—‘ØØØÜ˜=Ó)Ø%Ø Ð*ð )ó 
ˆð 	×Ñ˜Ÿ™¬×)?Ñ)?Ô@Ø×Ñ˜×.Ñ.°Ô2Ø×Ñ˜×,Ñ,¨VÑ4°hÔ?Ø�‰�i¤ W£Ô.à×Ñœ~Õ.Ü×#Ñ#Õ%Ü—‘×&Ñ&ØŸ™Ø#Ø%Ø Ü" 6›?Ø%-ð 'ô ÷ &÷ /ô '×.Ñ.×5Ñ5Ø—‘ØØØ ð	 6ó 
ˆô &Ÿo™o×4Ñ4Ø—‘Ø!ØØÜ˜6“?Ø%ð 5ó 
Ðð 	×ÑÐ,×7Ñ7¸Õ?÷3 &Ð%ú÷ /Ð.ús$   Ã>G*Ä9GÅG*ÇG'	Ç#G*Ç*G3c           
      óH  — t         j                  j                  | j                  t         j                  t        d«      t         j                  t        d«      t        d«      d¬«      }t        j                  j                  | j                  ddt        d«      d|ddi¬	«      }| j                  |j                  t        j                  «       | j                  |j                  |«       | j                  |j                  d   d«       | j                  d
t        |«      «       y )Nz50.00000000z100.00000000r   )r   Útransaction_typer4   r)   Úbalance_beforeÚbalance_afterr"   r   ÚTRON_DEST_1ÚreasonÚpayout)r   r"   r#   r4   Údestination_addressr   r%   Ú
Withdrawal)r   r   r'   r   ÚTYPE_WITHDRAWALr   r:   r
   r(   r)   ÚSTATUS_REQUESTEDr   r%   r+   r,   )r   ÚtxÚ
withdrawals      r   Ú.test_withdrawal_defaults_and_links_transactionzAPaymentsModelTests.test_withdrawal_defaults_and_links_transactionb   só   € Ü× Ñ ×'Ñ'Ø—‘Ü(×8Ñ8Ü˜=Ó)Ü×-Ñ-Ü" >Ó2Ü! -Ó0Øð (ó 
ˆô '×.Ñ.×5Ñ5Ø—‘ØØÜ˜=Ó)Ø -ØØ Ð)ð 6ó 
ˆ
ð 	×Ñ˜×*Ñ*Ô,=×,NÑ,NÔOØ×Ñ˜×/Ñ/°Ô4Ø×Ñ˜×,Ñ,¨XÑ6¸ÔAØ�‰�l¤C¨
£OÕ4r   c           	      ó�  — t         j                  j                  | j                  ddd¬«      }t        j                  j                  | j                  |ddt        d«      d¬«      }t        j                  j                  d|d	did
di¬«      }| j                  |j                  t        j                  «       | j                  |j                  |«       | j                  |j                  «       | j                  |j                  d	   d«       | j                  |j                  d
   d«       | j                  dt!        |«      «       y )Nr   r   ÚTRON_ADDR_3r&   z1.00ztx-callbackr7   zdeposit.detectedrK   zX-SignatureÚabc)Ú
event_typeÚrelated_depositÚpayloadÚheaders)r	   r   r'   r   r   r   r   r(   r)   r:   rR   ÚassertIsNoneÚrelated_withdrawalrS   rT   r+   r,   )r   r$   r<   Úlogs       r   Ú$test_callback_log_links_and_defaultsz7PaymentsModelTests.test_callback_log_links_and_defaults|   s!  € Ü ×(Ñ(×/Ñ/Ø—‘ØØØ!ð	 0ó 
ˆô —/‘/×(Ñ(Ø—‘ØØØÜ˜6“?Ø*ð )ó 
ˆô !×(Ñ(×/Ñ/Ø)Ø#Ø˜=Ð)Ø" EÐ*ð	 0ó 
ˆð 	×Ñ˜Ÿ™Ô%7×%FÑ%FÔGØ×Ñ˜×,Ñ,¨gÔ6Ø×Ñ˜#×0Ñ0Ô1Ø×Ñ˜Ÿ™ TÑ*¨MÔ:Ø×Ñ˜Ÿ™ ]Ñ3°UÔ;Ø�‰Ð(¬#¨c«(Õ3r   N)Ú__name__Ú
__module__Ú__qualname__r   r/   r?   rM   rX   © r   r   r   r      s   „ ò
òò.1@òf5ó44r   r   N)Údecimalr   Ú	django.dbr   r   Údjango.testr   Úapps.payments.modelsr   r   r	   r
   Úapps.transactions.modelsr   Úapps.users.modelsr   r   r\   r   r   Ú<module>rc      s.   ðÝ ç 1Ý  ÷ó õ 1Ý "ôH4˜õ H4r   