Ë
    ’Di	  ã                  ór   — d 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dlmZ ddlmZ  G d	„ d
e«      Zy)z6Tests for the /me/ and /me/wallets/ profile endpoints.é    )Úannotations)ÚDecimal)ÚTestCase)Úreverse)Ústatus)Ú	APIClient)ÚUserc                  ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚMeViewSetTestsc           	     óä   — t        «       | _        t        j                  j	                  dddt        d«      t        d«      ¬«      | _        | j                  j                  | j                  ¬«       y )Ni90  ÚaliceÚAliceú100.50000000ú10.25000000)Útelegram_user_idÚusernameÚ
first_nameÚcredit_balanceÚbonus_balance©Úuser)r   Úclientr	   ÚobjectsÚcreate_userr   r   Úforce_authenticate)Úselfs    úO/home/cursorai/projects/telegram-earn/backend/apps/users/tests/test_me_views.pyÚsetUpzMeViewSetTests.setUp   sZ   € Ü“kˆŒÜ—L‘L×,Ñ,Ø"ØØÜ" >Ó2Ü! -Ó0ð -ó 
ˆŒ	ð 	�‰×&Ñ&¨D¯I©IÐ&Õ6ó    c                ó´  — t        d«      }| j                  j                  |«      }| j                  |j                  t
        j                  «       |j                  «       }| j                  |d   d«       | j                  |d   d«       | j                  t        |d   «      t        d«      «       | j                  t        |d   «      t        d	«      «       y
)z<GET /api/users/me/ returns the authenticated user's profile.úme-listr   r   r   r   r   r   r   r   N)	r   r   ÚgetÚassertEqualÚstatus_coder   ÚHTTP_200_OKÚjsonr   )r   ÚurlÚresponseÚdatas       r   Útest_get_me_profilez"MeViewSetTests.test_get_me_profile   s®   € ä�iÓ ˆØ—;‘;—?‘? 3Ó'ˆà×Ñ˜×-Ñ-¬v×/AÑ/AÔBØ�}‰}‹ˆØ×Ñ˜˜jÑ)¨7Ô3Ø×Ñ˜˜lÑ+¨WÔ5Ø×Ñœ Ð&6Ñ!7Ó8¼'À.Ó:QÔRØ×Ñœ  oÑ!6Ó7¼ÀÓ9OÕPr   c                ó2  — t        d«      }| j                  j                  |«      }| j                  |j                  t
        j                  «       |j                  «       }| j                  t        |«      d«       t        d„ |D «       «      }| j                  |d   d«       | j                  t        |d   «      t        d«      «       t        d„ |D «       «      }| j                  |d   d	«       | j                  t        |d   «      t        d
«      «       y)z7GET /api/users/me/wallets/ returns all wallet balances.z
me-walletsé   c              3  ó2   K  — | ]  }|d    dk(  sŒ|–— Œ y­w)Útyper   N© ©Ú.0Úws     r   Ú	<genexpr>z5MeViewSetTests.test_get_me_wallets.<locals>.<genexpr>1   s   è ø€ ÐH¡$˜Q¨!¨F©)Ð7GÓ*G”q¡$ùó   ‚�ÚnameÚPrimaryÚbalancer   c              3  ó2   K  — | ]  }|d    dk(  sŒ|–— Œ y­w)r.   ÚbonusNr/   r0   s     r   r3   z5MeViewSetTests.test_get_me_wallets.<locals>.<genexpr>6   s   è ø€ Ð=¡˜1¨¨&©	°WÓ(<”Q¡ùr4   ÚBonusr   N)r   r   r"   r#   r$   r   r%   r&   ÚlenÚnextr   )r   r'   r(   r)   Úprimaryr9   s         r   Útest_get_me_walletsz"MeViewSetTests.test_get_me_wallets'   sã   € ä�lÓ#ˆØ—;‘;—?‘? 3Ó'ˆà×Ñ˜×-Ñ-¬v×/AÑ/AÔBØ�}‰}‹ˆØ×Ñœ˜T› AÔ&ô ÑH¡$ÓHÓHˆØ×Ñ˜ ™¨)Ô4Ø×Ñœ ¨Ñ!3Ó4´g¸nÓ6MÔNô Ñ=¡Ó=Ó=ˆØ×Ñ˜˜v™¨Ô0Ø×Ñœ  yÑ!1Ó2´G¸MÓ4JÕKr   c                óÜ   — | j                   j                  d¬«       t        d«      }| j                   j                  |«      }| j	                  |j
                  t        j                  «       y)z)Requests without auth should be rejected.Nr   r!   )r   r   r   r"   r#   r$   r   ÚHTTP_401_UNAUTHORIZED)r   r'   r(   s      r   Útest_get_me_unauthenticatedz*MeViewSetTests.test_get_me_unauthenticated:   sO   € à�‰×&Ñ&¨DÐ&Ô1Ü�iÓ ˆØ—;‘;—?‘? 3Ó'ˆØ×Ñ˜×-Ñ-¬v×/KÑ/KÕLr   N)Ú__name__Ú
__module__Ú__qualname__r   r*   r>   rA   r/   r   r   r   r      s   „ ò	7ò
QòLó&Mr   r   N)Ú__doc__Ú
__future__r   Údecimalr   Údjango.testr   Údjango.urlsr   Úrest_frameworkr   Úrest_framework.testr   Úapps.users.modelsr	   r   r/   r   r   Ú<module>rM      s+   ðÙ <å "å å  Ý Ý !Ý )å "ô0M�Xõ 0Mr   