Ë
    º2Úijp  ã                   óÆ  — d Z ddlZddl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mZ ddlmZmZ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!  e!dd«      Z"	 ddlm#Z# 	 ddl%m&Z& g d¢Z( G d„ de«      Z) G d„ de«      Z* G d„ de«      Z+ G d„ de«      Z, G d„ de«      Z- G d„ d e«      Z.y# e$$ r	 ddlm#Z# Y Œ[w xY w# e$$ r	 ddl'm&Z& Y Œew xY w)!z¯
This file demonstrates writing tests using the unittest module. These will pass
when you run "manage.py test".
Replace this with more appropriate tests for your application.
é    N)Úsettings)ÚGroupÚUser)ÚImproperlyConfigured©Ú
connection)ÚContextÚTemplate)ÚClientÚRequestFactoryÚTestCase)ÚCaptureQueriesContext)Útimezone)Ú	localtimeÚutc)Únotify_handler)Únotify)Úid2slug)Ú
load_modelÚnotificationsÚNotification)Úoverride_settings)Úreverse)zhttp://bla.comzhttp://www.bla.comzhttps://bla.comzhttps://www.bla.comzftp://www.bla.com/file.exec                   óˆ   — e Zd ZdZ ed¬«       ed¬«      d„ «       «       Z ed¬«       ed¬«      d„ «       «       Zd	„ Zd
„ Zy)ÚNotificationTestz& Django notifications automated tests T)ÚUSE_TZzAsia/Shanghai)Ú	TIME_ZONEc                 óú  — t         j                  j                  ddd¬«      }t         j                  j                  ddd¬«      }t        j                  ||d|¬«       t
        j                  j                  |¬«      }t        j                  «       j                  t        ¬	«      t        |j                  t        j                  t        j                  «      «      z
  }| j!                  |j"                  d
k  «       y )NÚfromÚpwdúexample@example.com©ÚusernameÚpasswordÚemailÚtoÚ	commented©Ú	recipientÚverbÚaction_object©r)   )Útzinfoé<   )r   ÚobjectsÚcreater   Úsendr   Úgetr   ÚnowÚreplacer   r   Ú	timestampÚpytzr   r   Ú
assertTrueÚseconds©ÚselfÚ	from_userÚto_userÚnotificationÚdeltas        úP/var/www/html/acx/venv/lib/python3.12/site-packages/notifications/tests/tests.pyÚtest_use_timezonez"NotificationTest.test_use_timezone4   sÀ   € ô —L‘L×'Ñ'°À%ÐOdÐ'Óeˆ	Ü—,‘,×%Ñ%¨t¸eÐK`Ð%ÓaˆÜ�‰�I¨°{ÐR[Õ\Ü#×+Ñ+×/Ñ/¸'Ð/ÓBˆä�L‰L‹N×"Ñ"¬#Ð"Ó.´¸<×;QÑ;QÔSW×S`ÑS`Ôai×asÑasÓStÓ1uÑuð 	ð 	�‰˜Ÿ™¨Ñ*Õ+ó    Fc                 ó|  — t         j                  j                  ddd¬«      }t         j                  j                  ddd¬«      }t        j                  ||d|¬«       t
        j                  j                  |¬«      }t        j                  «       |j                  z
  }| j                  |j                  d	k  «       y )
NÚfrom2r    r!   r"   Úto2r'   r(   r,   r.   )r   r/   r0   r   r1   r   r2   r   r3   r5   r7   r8   r9   s        r?   Útest_disable_timezonez&NotificationTest.test_disable_timezoneC   s“   € ô —L‘L×'Ñ'°À5ÐPeÐ'Ófˆ	Ü—,‘,×%Ñ%¨u¸uÐLaÐ%ÓbˆÜ�‰�I¨°{ÐR[Õ\Ü#×+Ñ+×/Ñ/¸'Ð/ÓBˆÜ—‘“ ×!7Ñ!7Ñ7ˆØ�‰˜Ÿ™¨Ñ*Õ+rA   c                 ó>  — t         j                  j                  ddd¬«      }t         j                  j                  ddd¬«      }t        j                  ||d|¬«       t
        j                  j                  |¬«      }| j                  |j                  «       d	«       y )
NrC   r    r!   r"   rD   r'   r(   r,   Útoday)	r   r/   r0   r   r1   r   r2   ÚassertEqualÚ
naturalday©r:   r;   r<   r=   s       r?   Ú"test_humanize_naturalday_timestampz3NotificationTest.test_humanize_naturalday_timestampM   s   € Ü—L‘L×'Ñ'°À5ÐPeÐ'Ófˆ	Ü—,‘,×%Ñ%¨u¸uÐLaÐ%ÓbˆÜ�‰�I¨°{ÐR[Õ\Ü#×+Ñ+×/Ñ/¸'Ð/ÓBˆØ×Ñ˜×0Ñ0Ó2°GÕ<rA   c                 ó>  — t         j                  j                  ddd¬«      }t         j                  j                  ddd¬«      }t        j                  ||d|¬«       t
        j                  j                  |¬«      }| j                  |j                  «       d	«       y )
NrC   r    r!   r"   rD   r'   r(   r,   r3   )	r   r/   r0   r   r1   r   r2   rH   ÚnaturaltimerJ   s       r?   Ú#test_humanize_naturaltime_timestampz4NotificationTest.test_humanize_naturaltime_timestampT   s   € Ü—L‘L×'Ñ'°À5ÐPeÐ'Ófˆ	Ü—,‘,×%Ñ%¨u¸uÐLaÐ%ÓbˆÜ�‰�I¨°{ÐR[Õ\Ü#×+Ñ+×/Ñ/¸'Ð/ÓBˆØ×Ñ˜×1Ñ1Ó3°UÕ;rA   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r@   rE   rK   rN   © rA   r?   r   r   2   sY   „ Ù0Ù˜dÔ#Ù Ô1ñ,ó 2ó $ð,ñ ˜eÔ$Ù Ô1ñ,ó 2ó %ð,ò=ó<rA   r   c                   ó„   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	 e
dd	i¬
«      d„ «       Zd„ Zd„ Z e
dd	i¬
«      d„ «       Zy)ÚNotificationManagersTestz. Django notifications Manager automated tests c                 ó„  — d| _         t        j                  j                  ddd¬«      | _        t        j                  j                  ddd¬«      | _        t        j                  j                  ddd¬«      | _        t        j                  j                  d¬	«      | _        t        j                  j                  «       | _
        | j                  j                  j                  | j                  «       | j                  j                  j                  | j                  «       t        | j                   «      D ]9  }t        j                  | j
                  | j                  d
| j
                  ¬«       Œ; t        j                  | j
                  | j                  d
| j
                  ¬«       | xj                   | j                  j                  j!                  «       z  c_         t        j                  | j
                  | j                  d
| j
                  ¬«       | xj                   t#        | j                  «      z  c_         y )Né
   Úother1r    r!   r"   rC   rD   Úto2_g)Únamer'   r(   )Úmessage_countr   r/   r0   Ú
other_userr;   r<   r   Úto_groupÚallÚto_user_listÚuser_setÚaddÚranger   r1   ÚcountÚlen©r:   Ú_s     r?   ÚsetUpzNotificationManagersTest.setUp]   s�  € ØˆÔÜŸ,™,×-Ñ-°xÈ%ÐWlÐ-ÓmˆŒäŸ™×,Ñ,°gÈÐUjÐ,ÓkˆŒÜ—|‘|×*Ñ*°EÀEÐQfÐ*ÓgˆŒÜŸ™×,Ñ,°'Ð,Ó:ˆŒÜ ŸL™L×,Ñ,Ó.ˆÔØ�‰×Ñ×"Ñ" 4§<¡<Ô0Ø�‰×Ñ×"Ñ" 4§?¡?Ô3ä�t×)Ñ)Ó*ò 	pˆAÜ�K‰K˜Ÿ™°$·,±,À[Ð`d×`nÑ`nÖoð	pô 	�‰�D—N‘N¨d¯m©mÀ+Ð]a×]kÑ]kÕlØ×Ò˜dŸm™m×4Ñ4×:Ñ:Ó<Ñ<Õä�‰�D—N‘N¨d×.?Ñ.?ÀkÐae×aoÑaoÕpØ×Òœc $×"3Ñ"3Ó4Ñ4ÖrA   c                 ó  — t        j                  | j                  | j                  d| j                  ¬«      }|D ]Q  }|d   t        u sŒ| j                  t        |d   «      d«       | j                  t        |d   d   «      t        «       ŒS y ©Nr'   r(   r   é   )	r   r1   r;   r<   r   rH   rd   Útyper   )r:   ÚresultsÚresults      r?   Útest_notify_send_return_valz4NotificationManagersTest.test_notify_send_return_valq   sw   € Ü—+‘+˜dŸn™n¸¿¹È;Ðfj×ftÑftÔuˆØò 	CˆFØ�a‰yœNÒ*Ø× Ñ ¤ V¨A¡Y£°Ô3à× Ñ ¤ f¨Q¡i°¡lÓ!3´\ÕBñ		CrA   c                 ój  — t        j                  | j                  | j                  d| j                  ¬«      }|D ]w  }|d   t        u sŒ| j                  t        |d   «      | j                  j                  j                  «       «       |d   D ]!  }| j                  t        |«      t        «       Œ# Œy y ri   )r   r1   r;   r]   r   rH   rd   r`   rc   rk   r   )r:   rl   rm   r=   s       r?   Ú!test_notify_send_return_val_groupz:NotificationManagersTest.test_notify_send_return_val_groupy   s—   € Ü—+‘+˜dŸn™n¸¿¹ÈKÐgk×guÑguÔvˆØò 	GˆFØ�a‰yœNÒ*Ø× Ñ ¤ V¨A¡Y£°·±×1GÑ1G×1MÑ1MÓ1OÔPØ$*¨1¡Iò G�Là×$Ñ$¤T¨,Ó%7¼ÕFñGñ	GrA   c                 ó.  — | j                  t        j                  j                  «       j	                  «       | j
                  «       t        j                  j                  | j                  ¬«      j                  «       }|j                  «        | j                  t        j                  j                  «       j	                  «       | j
                  dz
  «       t        j                  j                  «       D ]  }| j                  |j                  «       Œ y ©Nr,   rj   )rH   r   r/   Úunreadrc   r[   Úfilterr<   ÚfirstÚmark_as_readr7   ©r:   r=   s     r?   Útest_unread_managerz,NotificationManagersTest.test_unread_manager‚   sÆ   € Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÔSÜ#×+Ñ+×2Ñ2¸T¿\¹\Ð2ÓJ×PÑPÓRˆØ×!Ñ!Ô#Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÐSTÑ@TÔUÜ(×0Ñ0×7Ñ7Ó9ò 	1ˆLØ�O‰O˜L×/Ñ/Õ0ñ	1rA   c                 ó  — | j                  t        j                  j                  «       j	                  «       | j
                  «       t        j                  j                  | j                  ¬«      j                  «       }|j                  «        | j                  t        j                  j                  «       j	                  «       d«       t        j                  j                  «       D ]  }| j                  |j                  «       Œ y rr   )rH   r   r/   rs   rc   r[   rt   r<   ru   rv   ÚreadÚassertFalserw   s     r?   Útest_read_managerz*NotificationManagersTest.test_read_managerŠ   s¼   € Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÔSÜ#×+Ñ+×2Ñ2¸T¿\¹\Ð2ÓJ×PÑPÓRˆØ×!Ñ!Ô#Ø×Ñœ×-Ñ-×2Ñ2Ó4×:Ñ:Ó<¸aÔ@Ü(×0Ñ0×5Ñ5Ó7ò 	2ˆLØ×Ñ˜\×0Ñ0Õ1ñ	2rA   c                 ó„  — | j                  t        j                  j                  «       j	                  «       | j
                  «       t        j                  j                  | j                  ¬«      j                  «        | j                  | j                  j                  j                  «       j	                  «       d«       y ©Nr,   r   )
rH   r   r/   rs   rc   r[   rt   r<   Úmark_all_as_readr   ©r:   s    r?   Útest_mark_all_as_read_managerz6NotificationManagersTest.test_mark_all_as_read_manager’   s€   € Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÔSÜ×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ×Ñ˜Ÿ™×3Ñ3×:Ñ:Ó<×BÑBÓDÀaÕHrA   ÚSOFT_DELETET©ÚDJANGO_NOTIFICATIONS_CONFIGc                 ón  — t         j                  j                  | j                  ¬«      j	                  d«      d   }d|_        |j                  «        | j                  t         j                  j                  | j                  ¬«      j	                  d«      d   j                  «       t         j                  j                  | j                  ¬«      j                  «        | j                  t         j                  j                  | j                  ¬«      j	                  d«      d   j                  «       y )Nr,   Úidr   T)r   r/   rt   r<   Úorder_byÚdeletedÚsaver7   rs   r   r{   )r:   Ú	to_deletes     r?   Ú.test_mark_all_as_read_manager_with_soft_deletezGNotificationManagersTest.test_mark_all_as_read_manager_with_soft_delete—   sã   € ô !×(Ñ(×/Ñ/¸$¿,¹,Ð/ÓG×PÑPÐQUÓVÐWXÑYˆ	Ø ˆ	ÔØ�‰ÔØ�‰œ×,Ñ,×3Ñ3¸d¿l¹lÐ3ÓK×TÑTÐUYÓZÐ[\Ñ]×dÑdÔeÜ×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ×Ñœ×-Ñ-×4Ñ4¸t¿|¹|Ð4ÓL×UÑUÐVZÓ[Ð\]Ñ^×eÑeÕfrA   c                 ó€  — | j                  t        j                  j                  «       j	                  «       | j
                  «       t        j                  j                  | j                  ¬«      j                  «        | j                  | j                  j                  j                  «       j	                  «       d«       t        j                  j                  | j                  ¬«      j                  «        | j                  t        j                  j                  «       j	                  «       | j
                  «       y r~   )rH   r   r/   rs   rc   r[   rt   r<   r   r   Úmark_all_as_unreadr€   s    r?   Útest_mark_all_as_unread_managerz8NotificationManagersTest.test_mark_all_as_unread_manager¤   sÒ   € Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÔSÜ×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ×Ñ˜Ÿ™×3Ñ3×:Ñ:Ó<×BÑBÓDÀaÔHÜ×Ñ×#Ñ#¨d¯l©lÐ#Ó;×NÑNÔPØ×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÕSrA   c                 ót  — | j                  t        t        j                  j                  «       | j                  t        t        j                  j                  «       | j                  t        t        j                  j
                  «       | j                  t        t        j                  j                  «       y )N)ÚassertRaisesr   r   r/   ÚactiveÚmark_all_as_deletedÚmark_all_as_activer€   s    r?   Ú1test_mark_all_deleted_manager_without_soft_deletezJNotificationManagersTest.test_mark_all_deleted_manager_without_soft_delete«   sv   € Ø×ÑÔ.´×0DÑ0D×0KÑ0KÔLØ×ÑÔ.´×0DÑ0D×0KÑ0KÔLØ×ÑÔ.´×0DÑ0D×0XÑ0XÔYØ×ÑÔ.´×0DÑ0D×0WÑ0WÕXrA   c                 ó  — t         j                  j                  | j                  ¬«      j	                  «       }|j                  «        | j                  t         j                  j                  «       j                  «       d«       | j                  t         j                  j                  «       j                  «       | j                  dz
  «       | j                  t         j                  j                  «       j                  «       | j                  «       | j                  t         j                  j                  «       j                  «       d«       t         j                  j                  «        | j                  t         j                  j                  «       j                  «       d«       | j                  t         j                  j                  «       j                  «       d«       | j                  t         j                  j                  «       j                  «       d«       | j                  t         j                  j                  «       j                  «       | j                  «       t         j                  j                  «        | j                  t         j                  j                  «       j                  «       d«       | j                  t         j                  j                  «       j                  «       | j                  dz
  «       | j                  t         j                  j                  «       j                  «       | j                  «       | j                  t         j                  j                  «       j                  «       d«       y )Nr,   rj   r   )r   r/   rt   r<   ru   rv   rH   rz   rc   rs   r[   r‘   rˆ   r’   r“   rw   s     r?   Útest_mark_all_deleted_managerz6NotificationManagersTest.test_mark_all_deleted_manager±   sd  € ô $×+Ñ+×2Ñ2¸T¿\¹\Ð2ÓJ×PÑPÓRˆØ×!Ñ!Ô#Ø×Ñœ×-Ñ-×2Ñ2Ó4×:Ñ:Ó<¸aÔ@Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÐSTÑ@TÔUØ×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÔSØ×Ñœ×-Ñ-×5Ñ5Ó7×=Ñ=Ó?ÀÔCä×Ñ×0Ñ0Ô2Ø×Ñœ×-Ñ-×2Ñ2Ó4×:Ñ:Ó<¸aÔ@Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>ÀÔBØ×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>ÀÔBØ×Ñœ×-Ñ-×5Ñ5Ó7×=Ñ=Ó?À×ASÑASÔTä×Ñ×/Ñ/Ô1Ø×Ñœ×-Ñ-×2Ñ2Ó4×:Ñ:Ó<¸aÔ@Ø×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÐSTÑ@TÔUØ×Ñœ×-Ñ-×4Ñ4Ó6×<Ñ<Ó>À×@RÑ@RÔSØ×Ñœ×-Ñ-×5Ñ5Ó7×=Ñ=Ó?ÀÕCrA   N)rO   rP   rQ   rR   rg   rn   rp   rx   r|   r�   r   r‹   rŽ   r”   r–   rS   rA   r?   rU   rU   [   s|   „ Ù8ò5ò(CòGò1ò2òIñ
 Ø�tð4ô ñgóðgòTòYñ Ø�tð4ô ñDóñDrA   rU   c                   ó¦   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	 e
dg¬	«      d
„ «       Zd„ Z e
ddi¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚNotificationTestPagesz+ Django notifications automated page tests c                 ó¦  — d| _         t        j                  j                  ddd¬«      | _        t        j                  j                  ddd¬«      | _        d| j
                  _        | j
                  j                  «        t        | j                   «      D ]9  }t        j                  | j                  | j
                  d| j                  ¬	«       Œ; y ©
NrW   r   r    r!   r"   r&   Tr'   r(   ©r[   r   r/   Úcreate_userr;   r<   Úis_staffr‰   rb   r   r1   re   s     r?   rg   zNotificationTestPages.setUpË   sŸ   € ØˆÔÜŸ™×1Ñ1¸6ÈEÐYnÐ1ÓoˆŒÜ—|‘|×/Ñ/¸ÈÐUjÐ/ÓkˆŒØ $ˆ�‰ÔØ�‰×ÑÔÜ�t×)Ñ)Ó*ò 	pˆAÜ�K‰K˜Ÿ™°$·,±,À[Ð`d×`nÑ`nÖoñ	prA   c                 óT   — | j                   j                  t        d«      dz   i «       y ©Nzadmin:logoutz?next=/©ÚclientÚpostr   r€   s    r?   ÚlogoutzNotificationTestPages.logoutÔ   ó    € Ø�‰×Ñœ Ó0°Ñ:¸BÕ?rA   c                 ó®   — | j                  «        | j                  j                  t        d«      ||dœ«      }| j	                  |j
                  d«       |S ©NÚlogin©r#   r$   é.  ©r£   r¡   r¢   r   rH   Ústatus_code©r:   r#   r$   Úresponses       r?   r§   zNotificationTestPages.login×   óG   € Ø�‰ŒØ—;‘;×#Ñ#¤G¨GÓ$4À8ÐYaÑ6bÓcˆØ×Ñ˜×-Ñ-¨sÔ3ØˆrA   c                 óN  — | j                  dd«       | j                  j                  t        d«      «      }| j	                  |j
                  d«       | j	                  t        |j                  d   «      t        | j                  j                  j                  «       «      «       y )Nr&   r    únotifications:alléÈ   r   )r§   r¡   r2   r   rH   r«   rd   Úcontextr<   r   r^   )r:   r­   s     r?   Útest_all_messages_pagez,NotificationTestPages.test_all_messages_pageÝ   sv   € Ø�
‰
�4˜ÔØ—;‘;—?‘?¤7Ð+>Ó#?Ó@ˆà×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EcÑEcÓEeÓAfÕgrA   c           	      ó$  — | j                  dd«       | j                  j                  t        d«      «      }| j	                  |j
                  d«       | j	                  t        |j                  d   «      t        | j                  j                  j                  «       «      «       | j	                  t        |j                  d   «      | j                  «       t        | j                  j                  j                  «       «      D ]d  \  }}|dz  dk(  sŒ| j                  j                  t        dt        |j                  «      g¬	«      «      }| j	                  |j
                  d
«       Œf | j                  j                  t        d«      «      }| j	                  |j
                  d«       | j	                  t        |j                  d   «      t        | j                  j                  j                  «       «      «       | j!                  t        |j                  d   «      | j                  k  «       | j                  j                  t        d«      «      }| j#                  |t        d«      «       | j                  j                  t        d«      «      }| j	                  t        |j                  d   «      t        | j                  j                  j                  «       «      «       | j	                  t        |j                  d   «      d«       y )Nr&   r    únotifications:unreadr±   r   é   r   únotifications:mark_as_read©Úargsr©   únotifications:mark_all_as_read)r§   r¡   r2   r   rH   r«   rd   r²   r<   r   rs   r[   Ú	enumerater^   r   r†   r7   ÚassertRedirects)r:   r­   Úindexr=   s       r?   Útest_unread_messages_pagesz0NotificationTestPages.test_unread_messages_pagesä   s@  € Ø�
‰
�4˜ÔØ—;‘;—?‘?¤7Ð+AÓ#BÓCˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EfÑEfÓEhÓAiÔjØ×Ñœ˜X×-Ñ-¨oÑ>Ó?À×ASÑASÔTä#,¨T¯\©\×-GÑ-G×-KÑ-KÓ-MÓ#Nò 	<ÑˆE�<Ø�q‰y˜A‹~ØŸ;™;Ÿ?™?¬7Ð3OÔW^Ð_k×_nÑ_nÓWoÐVpÔ+qÓr�Ø× Ñ  ×!5Ñ!5°sÕ;ð	<ð
 —;‘;—?‘?¤7Ð+AÓ#BÓCˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EfÑEfÓEhÓAiÔjØ�‰œ˜H×,Ñ,¨_Ñ=Ó>À×ASÑASÑSÔTà—;‘;—?‘?¤7Ð+KÓ#LÓMˆØ×Ñ˜X¤wÐ/EÓ'FÔGØ—;‘;—?‘?¤7Ð+AÓ#BÓCˆØ×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EfÑEfÓEhÓAiÔjØ×Ñœ˜X×-Ñ-¨oÑ>Ó?ÀÕCrA   c                 óþ  — | j                  dd«       d}| j                  j                  t        d«      dt        d«      |z   i¬«      }| j	                  |t        d«      |z   «       t        | j                  j                  j                  «       j                  «      }| j                  j                  t        d|g¬	«      dt        d«      |z   i¬«      }| j	                  |t        d«      |z   «       t        | j                  j                  j                  «       j                  «      }| j                  j                  t        d
|g¬	«      dt        d«      |z   i«      }| j	                  |t        d«      |z   «       y )Nr&   r    ú?var1=hello&var2=worldrº   Únextrµ   ©Údatar·   r¸   znotifications:mark_as_unread)
r§   r¡   r2   r   r¼   r   r<   r   ru   r†   )r:   Úquery_parametersr­   Úslugs       r?   Útest_next_pagesz%NotificationTestPages.test_next_pagesû   sW  € Ø�
‰
�4˜ÔØ3Ðà—;‘;—?‘?¤7Ð+KÓ#LØ”GÐ2Ó3Ð7GÑGðS
�?ó ˆð 	×Ñ˜X¤wÐ/EÓ'FÐIYÑ'YÔZä�t—|‘|×1Ñ1×7Ñ7Ó9×<Ñ<Ó=ˆØ—;‘;—?‘?¤7Ð+GÈtÈfÔ#UØ”GÐ2Ó3Ð6FÑFð]
�?ó ˆð 	×Ñ˜X¤wÐ/EÓ'FÐIYÑ'YÔZä�t—|‘|×1Ñ1×7Ñ7Ó9×<Ñ<Ó=ˆØ—;‘;—?‘?¤7Ð+IÐQUÐPVÔ#WØ”GÐ2Ó3Ð6FÑFðZ
ó ˆð 	×Ñ˜X¤wÐ/EÓ'FÐIYÑ'YÕZrA   zwww.notifications.com)ÚALLOWED_HOSTSc                 óô   — | j                   j                  | j                  «       d}t        D ]H  }| j                   j	                  t        d«      d||z   i¬«      }| j                  |t        d«      «       ŒJ y )NrÀ   rº   rÁ   rÂ   rµ   )r¡   Úforce_loginr<   ÚMALICIOUS_NEXT_URLSr2   r   r¼   )r:   rÄ   Únext_urlr­   s       r?   Útest_malicious_next_pagesz/NotificationTestPages.test_malicious_next_pages  st   € à�‰×Ñ §¡Ô-Ø3Ðä+ò 	LˆHØ—{‘{—‘¤wÐ/OÓ'PØ˜Ð$4Ñ4ðW�ó ˆHð × Ñ  ¬7Ð3IÓ+JÕKñ		LrA   c                 ó:  — | j                  dd«       t        | j                  j                  j	                  «       j
                  «      }| j                  j                  t        d|g¬«      «      }| j                  |t        d«      «       | j                  j                  t        d«      «      }| j                  |j                  d«       | j                  t        |j                  d   «      t        | j                  j                  j                  «       «      «       | j                  t        |j                  d   «      | j                  dz
  «       | j                  j                  t        d	«      «      }| j                  |j                  d«       | j                  t        |j                  d   «      t        | j                  j                  j!                  «       «      «       | j                  t        |j                  d   «      | j                  dz
  «       y ©
Nr&   r    znotifications:deleter¸   r°   r±   r   rj   rµ   )r§   r   r<   r   ru   r†   r¡   r2   r   r¼   rH   r«   rd   r²   r^   r[   rs   ©r:   rÅ   r­   s      r?   Útest_delete_messages_pagesz0NotificationTestPages.test_delete_messages_pages  s‰  € Ø�
‰
�4˜Ôä�t—|‘|×1Ñ1×7Ñ7Ó9×<Ñ<Ó=ˆØ—;‘;—?‘?¤7Ð+AÈÈÔ#OÓPˆØ×Ñ˜X¤wÐ/BÓ'CÔDà—;‘;—?‘?¤7Ð+>Ó#?Ó@ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EcÑEcÓEeÓAfÔgØ×Ñœ˜X×-Ñ-¨oÑ>Ó?À×ASÑASÐTUÑAUÔVà—;‘;—?‘?¤7Ð+AÓ#BÓCˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EfÑEfÓEhÓAiÔjØ×Ñœ˜X×-Ñ-¨oÑ>Ó?À×ASÑASÐTUÑAUÕVrA   r‚   Trƒ   c                 ó:  — | j                  dd«       t        | j                  j                  j	                  «       j
                  «      }| j                  j                  t        d|g¬«      «      }| j                  |t        d«      «       | j                  j                  t        d«      «      }| j                  |j                  d«       | j                  t        |j                  d   «      t        | j                  j                  j                  «       «      «       | j                  t        |j                  d   «      | j                  dz
  «       | j                  j                  t        d	«      «      }| j                  |j                  d«       | j                  t        |j                  d   «      t        | j                  j                  j!                  «       «      «       | j                  t        |j                  d   «      | j                  dz
  «       y rÎ   )r§   r   r<   r   ru   r†   r¡   r2   r   r¼   rH   r«   rd   r²   r‘   r[   rs   rÏ   s      r?   Ú!test_soft_delete_messages_managerz7NotificationTestPages.test_soft_delete_messages_manager,  s‹  € ð 	�
‰
�4˜Ôä�t—|‘|×1Ñ1×7Ñ7Ó9×<Ñ<Ó=ˆØ—;‘;—?‘?¤7Ð+AÈÈÔ#OÓPˆØ×Ñ˜X¤wÐ/BÓ'CÔDà—;‘;—?‘?¤7Ð+>Ó#?Ó@ˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EfÑEfÓEhÓAiÔjØ×Ñœ˜X×-Ñ-¨oÑ>Ó?À×ASÑASÐTUÑAUÔVà—;‘;—?‘?¤7Ð+AÓ#BÓCˆØ×Ñ˜×-Ñ-¨sÔ3Ø×Ñœ˜X×-Ñ-¨oÑ>Ó?ÄÀTÇ\Á\×E_ÑE_×EfÑEfÓEhÓAiÔjØ×Ñœ˜X×-Ñ-¨oÑ>Ó?À×ASÑASÐTUÑAUÕVrA   c                 ó€  — | j                  dd«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        |j                  «       «      dg«       | j                  |d   | j                  «       t        j                  j                  | j                  ¬«      j!                  «        | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        |j                  «       «      dg«       | j                  |d   d«       t#        j$                  | j&                  | j                  d| j&                  ¬	«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        |j                  «       «      dg«       | j                  |d   d
«       y )Nr&   r    ú,notifications:live_unread_notification_countúutf-8Úunread_countr,   r   r'   r(   rj   ©r§   r¡   r2   r   ÚjsonÚloadsÚcontentÚdecoderH   ÚlistÚkeysr[   r   r/   rt   r<   r   r   r1   r;   ©r:   r­   rÃ   s      r?   Útest_unread_count_apiz+NotificationTestPages.test_unread_count_api@  s™  € Ø�
‰
�4˜Ôà—;‘;—?‘?¤7Ð+YÓ#ZÓ[ˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ˜dŸi™i›kÓ*¨^Ð,<Ô=Ø×Ñ˜˜nÑ-¨t×/AÑ/AÔBä×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ—;‘;—?‘?¤7Ð+YÓ#ZÓ[ˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ˜dŸi™i›kÓ*¨^Ð,<Ô=Ø×Ñ˜˜nÑ-¨qÔ1ä�‰�D—N‘N¨d¯l©lÀÐ\`×\jÑ\jÕkØ—;‘;—?‘?¤7Ð+YÓ#ZÓ[ˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ˜dŸi™i›kÓ*¨^Ð,<Ô=Ø×Ñ˜˜nÑ-¨qÕ1rA   c                 ó®  — | j                  dd«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        |j                  «       «      dg«       | j                  |d   | j                  «       t        j                  j                  | j                  ¬«      j!                  «        | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        |j                  «       «      dg«       | j                  |d   | j                  «       t#        j$                  | j&                  | j                  d| j&                  ¬«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        |j                  «       «      dg«       | j                  |d   | j                  d	z   «       y )
Nr&   r    z)notifications:live_all_notification_countrÕ   Ú	all_countr,   r'   r(   rj   r×   rÞ   s      r?   Útest_all_count_apiz(NotificationTestPages.test_all_count_apiT  s§  € Ø�
‰
�4˜Ôà—;‘;—?‘?¤7Ð+VÓ#WÓXˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ˜dŸi™i›kÓ*¨[¨MÔ:Ø×Ñ˜˜kÑ*¨D×,>Ñ,>Ô?ä×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ—;‘;—?‘?¤7Ð+VÓ#WÓXˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ˜dŸi™i›kÓ*¨[¨MÔ:Ø×Ñ˜˜kÑ*¨D×,>Ñ,>Ô?ä�‰�D—N‘N¨d¯l©lÀÐ\`×\jÑ\jÕkØ—;‘;—?‘?¤7Ð+VÓ#WÓXˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ˜dŸi™i›kÓ*¨[¨MÔ:Ø×Ñ˜˜kÑ*¨D×,>Ñ,>ÀÑ,BÕCrA   c                 óD	  — | j                  dd«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      | j                  «       | j                  j                  t        d«      ddi¬	«      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      d«       | j                  j                  t        d«      dd
i¬	«      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      | j                  «       t        j                  j!                  | j"                  ¬«      j%                  «        | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   d«       | j                  t        |d   «      d«       t'        j(                  | j*                  | j"                  d| j*                  ¬«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   d«       | j                  t        |d   «      d«       | j                  |d   d   d   d«       | j                  |d   d   d   t-        |d   d   d   «      «       y )Nr&   r    ú+notifications:live_unread_notification_listrÕ   rÖ   Úunread_listÚmaxé   rÂ   Úthis_is_wrongr,   r   r'   r(   rj   r*   rÅ   r†   ©r§   r¡   r2   r   rØ   rÙ   rÚ   rÛ   rH   ÚsortedrÜ   rÝ   r[   rd   r   r/   rt   r<   r   r   r1   r;   r   rÞ   s      r?   Útest_unread_list_apiz*NotificationTestPages.test_unread_list_apih  sœ  € Ø�
‰
�4˜Ôà—;‘;—?‘?¤7Ð+XÓ#YÓZˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°^À]Ð4SÔTØ×Ñ˜˜nÑ-¨t×/AÑ/AÔBØ×Ñœ˜T -Ñ0Ó1°4×3EÑ3EÔFà—;‘;—?‘?¤7Ð+XÓ#YÐafÐhiÐ`j�?ÓkˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°^À]Ð4SÔTØ×Ñ˜˜nÑ-¨t×/AÑ/AÔBØ×Ñœ˜T -Ñ0Ó1°1Ô5ð —;‘;—?‘?¤7Ð+XÓ#YØ�?ða
�?ó ˆô �z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°^À]Ð4SÔTØ×Ñ˜˜nÑ-¨t×/AÑ/AÔBØ×Ñœ˜T -Ñ0Ó1°4×3EÑ3EÔFä×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ—;‘;—?‘?¤7Ð+XÓ#YÓZˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°^À]Ð4SÔTØ×Ñ˜˜nÑ-¨qÔ1Ø×Ñœ˜T -Ñ0Ó1°1Ô5ä�‰�D—N‘N¨d¯l©lÀÐ\`×\jÑ\jÕkØ—;‘;—?‘?¤7Ð+XÓ#YÓZˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°^À]Ð4SÔTØ×Ñ˜˜nÑ-¨qÔ1Ø×Ñœ˜T -Ñ0Ó1°1Ô5Ø×Ñ˜˜mÑ,¨QÑ/°Ñ7¸ÔEØ×Ñ˜˜mÑ,¨QÑ/°Ñ7¼ÀÀmÑATÐUVÑAWÐX\ÑA]Ó9^Õ_rA   c                 óš	  — | j                  dd«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      | j                  «       | j                  j                  t        d«      ddi¬	«      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      d«       | j                  j                  t        d«      dd
i¬	«      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      | j                  «       t        j                  j!                  | j"                  ¬«      j%                  «        | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  «       | j                  t        |d   «      | j                  «       t'        j(                  | j*                  | j"                  d| j*                  ¬«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  t        t        |j                  «       «      «      ddg«       | j                  |d   | j                  dz   «       | j                  t        |d   «      | j                  «       | j                  |d   d   d   d«       | j                  |d   d   d   t-        |d   d   d   «      «       y )Nr&   r    z(notifications:live_all_notification_listrÕ   rá   Úall_listræ   rç   rÂ   rè   r,   r'   r(   rj   r   r*   rÅ   r†   ré   rÞ   s      r?   Útest_all_list_apiz'NotificationTestPages.test_all_list_api�  s¸  € Ø�
‰
�4˜Ôà—;‘;—?‘?¤7Ð+UÓ#VÓWˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°[À*Ð4MÔNØ×Ñ˜˜kÑ*¨D×,>Ñ,>Ô?Ø×Ñœ˜T *Ñ-Ó.°×0BÑ0BÔCà—;‘;—?‘?¤7Ð+UÓ#VÐ^cÐefÐ]g�?ÓhˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°[À*Ð4MÔNØ×Ñ˜˜kÑ*¨D×,>Ñ,>Ô?Ø×Ñœ˜T *Ñ-Ó.°Ô2ð —;‘;—?‘?¤7Ð+UÓ#VØ�?ð^
�?ó ˆô �z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°[À*Ð4MÔNØ×Ñ˜˜kÑ*¨D×,>Ñ,>Ô?Ø×Ñœ˜T *Ñ-Ó.°×0BÑ0BÔCä×Ñ×#Ñ#¨d¯l©lÐ#Ó;×LÑLÔNØ—;‘;—?‘?¤7Ð+UÓ#VÓWˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°[À*Ð4MÔNØ×Ñ˜˜kÑ*¨D×,>Ñ,>Ô?Ø×Ñœ˜T *Ñ-Ó.°×0BÑ0BÔCä�‰�D—N‘N¨d¯l©lÀÐ\`×\jÑ\jÕkØ—;‘;—?‘?¤7Ð+UÓ#VÓWˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñœ¤ T§Y¡Y£[Ó 1Ó2°[À*Ð4MÔNØ×Ñ˜˜kÑ*¨D×,>Ñ,>ÀÑ,BÔCØ×Ñœ˜T *Ñ-Ó.°×0BÑ0BÔCØ×Ñ˜˜jÑ)¨!Ñ,¨VÑ4°kÔBØ×Ñ˜˜jÑ)¨!Ñ,¨VÑ4´g¸dÀ:Ñ>NÈqÑ>QÐRVÑ>WÓ6XÕYrA   c                 óŽ  — | j                  dd«       d}| j                  j                  t        d«      |ddœ¬«      }t	        j
                  |j                  j                  d«      «      }| j                  |d	   | j                  |z
  «       | j                  t        |d
   «      |«       | j                  j                  t        d«      |ddœ¬«      }t	        j
                  |j                  j                  d«      «      }| j                  |d	   | j                  d|z  z
  «       | j                  t        |d
   «      |«       y )Nr&   r    r¶   rä   rj   )ræ   rv   rÂ   rÕ   rÖ   rå   é   )r§   r¡   r2   r   rØ   rÙ   rÚ   rÛ   rH   r[   rd   )r:   Únum_requestedr­   rÃ   s       r?   Ú!test_unread_list_api_mark_as_readz7NotificationTestPages.test_unread_list_api_mark_as_read¸  s%  € Ø�
‰
�4˜ÔØˆØ—;‘;—?‘?ÜÐAÓBØ&¸Ñ:ð #ó 
ˆô �z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñ˜˜nÑ-Ø×+Ñ+¨mÑ;ô	=à×Ñœ˜T -Ñ0Ó1°=ÔAØ—;‘;—?‘?ÜÐAÓBØ&¸Ñ:ð #ó 
ˆô �z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñ˜˜nÑ-Ø×+Ñ+¨a°©oÑ=ô	?à×Ñœ˜T -Ñ0Ó1°=ÕArA   c                 ó¦   — ddl m} | j                  dd«       t        «       }|j	                  d«      }| j
                  |_         ||d|ddœ«       y )	Nr   )Úrenderr&   r    z/notification/live_updaterznotifications/test_tags.htmlznonce-T5esDNXMnDe5lKMQ6ZzTUw==)ÚrequestÚnonce)Údjango.shortcutsrô   r§   r   r2   r<   Úuser)r:   rô   Úfactoryrõ   s       r?   Útest_live_update_tagsz+NotificationTestPages.test_live_update_tagsÌ  sH   € Ý+à�
‰
�4˜ÔÜ Ó"ˆà—+‘+Ð:Ó;ˆØ—|‘|ˆŒáˆwÐ6ÀGÐVvÑ8wÕxrA   c                 ó:  — | j                   j                  t        d«      «      }| j                  |j                  d«       t        j                  |j                  j                  d«      «      }| j                  |d   d«       | j                   j                  t        d«      «      }| j                  |j                  d«       t        j                  |j                  j                  d«      «      }| j                  |d   d«       | j                  |d   g «       y )NrÔ   r±   rÕ   rÖ   r   rä   rå   )	r¡   r¢   r   rH   r«   rØ   rÙ   rÚ   rÛ   rÞ   s      r?   Útest_anon_user_gets_nothingz1NotificationTestPages.test_anon_user_gets_nothingÙ  sß   € Ø—;‘;×#Ñ#¤GÐ,ZÓ$[Ó\ˆØ×Ñ˜×-Ñ-¨sÔ3Ü�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñ˜˜nÑ-¨qÔ1à—;‘;×#Ñ#¤GÐ,YÓ$ZÓ[ˆØ×Ñ˜×-Ñ-¨sÔ3Ü�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñ˜˜nÑ-¨qÔ1Ø×Ñ˜˜mÑ,¨bÕ1rA   N)rO   rP   rQ   rR   rg   r£   r§   r³   r¾   rÆ   r   rÌ   rÐ   rÒ   rß   râ   rë   rî   rò   rú   rü   rS   rA   r?   r˜   r˜   É   s�   „ Ù5òpò@òòhòDò.[ñ* Ð&=Ð%>Ô?ñLó @ðLòWñ" Ø�tð4ô ñWóðWò"2ò(Dò(&`òP&ZòPBò(	yó
2rA   r˜   c                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚNotificationTestExtraDataz1 Django notifications automated extra data tests c           	      óª  — d| _         t        j                  j                  ddd¬«      | _        t        j                  j                  ddd¬«      | _        d| j
                  _        | j
                  j                  «        t        | j                   «      D ];  }t        j                  | j                  | j
                  d| j                  d	d
¬«       Œ= y ©Nrj   r   r    r!   r"   r&   Tr'   ú'/learn/ask-a-pro/q/test-question-9/299/úHello my 'world')r)   r*   r+   ÚurlÚother_contentr›   re   s     r?   rg   zNotificationTestExtraData.setUpè  ó¦   € ØˆÔÜŸ™×1Ñ1¸6ÈEÐYnÐ1ÓoˆŒÜ—|‘|×/Ñ/¸ÈÐUjÐ/ÓkˆŒØ $ˆ�‰ÔØ�‰×ÑÔÜ�t×)Ñ)Ó*ò 	ˆAÜ�K‰KØ—‘ØŸ,™,Ø Ø"Ÿn™nØ=Ø0öñ	rA   c                 óT   — | j                   j                  t        d«      dz   i «       y rŸ   r    r€   s    r?   r£   z NotificationTestExtraData.logoutø  r¤   rA   c                 ó®   — | j                  «        | j                  j                  t        d«      ||dœ«      }| j	                  |j
                  d«       |S r¦   rª   r¬   s       r?   r§   zNotificationTestExtraData.loginû  r®   rA   c                 óD  — | j                  dd«       | j                  j                  t        d«      «      }t	        j
                  |j                  j                  d«      «      }| j                  |d   d   d   d   d	«       | j                  |d   d   d   d
   d«       y )Nr&   r    rä   rÕ   rå   r   rÃ   r  r  r  r  )	r§   r¡   r¢   r   rØ   rÙ   rÚ   rÛ   rH   rÞ   s      r?   Útest_extra_dataz)NotificationTestExtraData.test_extra_data  s“   € Ø�
‰
�4˜ÔØ—;‘;×#Ñ#¤GÐ,YÓ$ZÓ[ˆÜ�z‰z˜(×*Ñ*×1Ñ1°'Ó:Ó;ˆØ×Ñ˜˜mÑ,¨QÑ/°Ñ7¸Ñ>Ð@iÔjØ×Ñ˜˜mÑ,¨QÑ/°Ñ7¸ÑHÐJ\Õ]rA   N)rO   rP   rQ   rR   rg   r£   r§   r	  rS   rA   r?   rþ   rþ   æ  s   „ Ù;òò @òó^rA   rþ   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚTagTestz+ Django notifications automated tags tests c           	      óª  — d| _         t        j                  j                  ddd¬«      | _        t        j                  j                  ddd¬«      | _        d| j
                  _        | j
                  j                  «        t        | j                   «      D ];  }t        j                  | j                  | j
                  d| j                  d	d
¬«       Œ= y r   r›   re   s     r?   rg   zTagTest.setUp  r  rA   c                 óx   — t        d|z   «      }t        |«      }| j                  |j                  |«      |«       y )Nz{% load notifications_tags %})r
   r	   rH   rô   )r:   Útemplater²   ÚoutputÚtÚcs         r?   Útag_testzTagTest.tag_test  s4   € ÜÐ4°XÑ=Ó>ˆÜ�GÓˆØ×Ñ˜Ÿ™ !› fÕ-rA   c                 óN   — d}d| j                   i}d}| j                  |||«       y )Nz{{ user|has_notification }}rø   ÚTrue)r<   r  )r:   r  r²   r  s       r?   Útest_has_notificationzTagTest.test_has_notification   s*   € Ø0ˆØ˜$Ÿ,™,Ð'ˆØˆØ�‰�h ¨Õ0rA   N)rO   rP   rQ   rR   rg   r  r  rS   rA   r?   r  r  	  s   „ Ù5òò .ó
1rA   r  c                   ó   — e Zd ZdZd„ Zd„ Zy)Ú	AdminTestr   c                 óÈ  — d| _         t        j                  j                  ddd¬«      | _        t        j                  j                  ddd¬«      | _        d| j
                  _        d| j
                  _        | j
                  j                  «        t        | j                   «      D ]9  }t        j                  | j                  | j
                  d| j                  ¬	«       Œ; y rš   )r[   r   r/   rœ   r;   r<   r�   Úis_superuserr‰   rb   r   r1   re   s     r?   rg   zAdminTest.setUp)  s¬   € ØˆÔÜŸ™×1Ñ1¸6ÈEÐYnÐ1ÓoˆŒÜ—|‘|×/Ñ/¸ÈÐUjÐ/ÓkˆŒØ $ˆ�‰ÔØ$(ˆ�‰Ô!Ø�‰×ÑÔÜ�t×)Ñ)Ó*ò 	ˆAÜ�K‰KØ—‘ØŸ,™,Ø Ø"Ÿn™nö	ñ	rA   c                 ó†  — | j                   j                  dd¬«       t        t        ¬«      5 }| j                   j	                  t        dj                  | j                  «      «      «      }| j                  t        |«      d«       d d d «       | j                  j                  d|j                  «       y # 1 sw Y   Œ1xY w)Nr&   r    r¨   r   z!admin:{0}_notification_changelisté   r±   )r¡   r§   r   r   r2   r   ÚformatÚapp_nameÚassertLessEqualrd   rH   r«   rÚ   )r:   r²   r­   s      r?   Ú	test_listzAdminTest.test_list8  s–   € Ø�‰×Ñ 4°%ÐÔ8ä"¬jÔ9ð 	2¸WØ—{‘{—‘¤wÐ/R×/YÑ/YÐZ^×ZgÑZgÓ/hÓ'iÓjˆHØ× Ñ ¤ W£¨qÔ1÷	2ð 	×Ñ˜×-Ñ-¨s°H×4DÑ4DÕE÷		2ð 	2ús   ®AB7Â7C N)rO   rP   rQ   r  rg   r  rS   rA   r?   r  r  '  s   „ Ø€HòóFrA   r  )/rR   rØ   r6   Údjango.confr   Údjango.contrib.auth.modelsr   r   Údjango.core.exceptionsr   Ú	django.dbr   Údjango.templater	   r
   Údjango.testr   r   r   Údjango.test.utilsr   Údjango.utilsr   Údjango.utils.timezoner   r   Únotifications.base.modelsr   Únotifications.signalsr   Únotifications.utilsr   Úswapperr   r   r   ÚImportErrorÚdjango.urlsr   Údjango.core.urlresolversrÊ   r   rU   r˜   rþ   r  r  rS   rA   r?   ú<module>r0     sÞ   ðñó ã å  ß 2Ý 7Ý  ß -ß 8Ñ 8Ý 3Ý !ß 0Ý 4Ý (Ý 'Ý á˜/¨>Ó:€ð4å-ð
1å#ò
Ð ô'<�xô '<ôRkD˜xô kDô\Z2˜Hô Z2ôz ^ ô  ^ôF1ˆhô 1ô<F�õ FøðQ ò 4ç3ð4ûð ò 1ç0ð1ús$   Á-C Á4C ÃCÃCÃC ÃC 