Ë
    ¸2Úi¯
  ã                   ó®   — 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	 G d
„ de«      Z
 G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )Úmodelsé   )ÚDELETED_VISIBLE_BY_FIELD)ÚSafeDeleteManager)ÚSafeDeleteModelé   )ÚSafeDeleteTestCasec                   ó   — e Zd ZeZy)ÚPkVisibleManagerN)Ú__name__Ú
__module__Ú__qualname__r   Ú_safedelete_visibility© ó    úZ/var/www/html/acx/venv/lib/python3.12/site-packages/safedelete/tests/test_visible_by_pk.pyr   r   	   s   „ Ø5Ñr   r   c                   ó@   — e Zd Z e«       Z ej                  d¬«      Zy)ÚPkVisibleModeléd   )Ú
max_lengthN)r   r   r   r   Úobjectsr   Ú	CharFieldÚnamer   r   r   r   r      s   „ áÓ €Gàˆ6×ÑØô�Dr   r   c                   ó   — e Zd ZeZdZy)ÚNameVisibleManagerr   N)r   r   r   r   r   Ú_safedelete_visibility_fieldr   r   r   r   r      s   „ Ø5ÐØ#)Ñ r   r   c                   óH   — e Zd Z ej                  dd¬«      Z e«       Zd„ Zy)ÚNameVisibleFieldéÈ   T)r   Úuniquec                 ó   — | j                   S )N©r   ©Úselfs    r   Ú__str__zNameVisibleField.__str__    s   € Ø�y‰yÐr   N)	r   r   r   r   r   r   r   r   r%   r   r   r   r   r      s#   „ Øˆ6×Ñ s°4Ô8€Dá Ó"€Gór   r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚVisibilityTestCasec                 ó  — t         j                  j                  d¬«      | _        t        j                  j                  d¬«      t        j                  j                  d¬«      t        j                  j                  d¬«      f| _        y )NÚinstancer"   zNVF 1zNVF 2zNVF 3)r   r   Úcreater)   r   Únamevisiblefieldr#   s    r   ÚsetUpzVisibilityTestCase.setUp&   ss   € Ü&×.Ñ.×5Ñ5Øð 6ó 
ˆŒô ×$Ñ$×+Ñ+°Ð+Ó9Ü×$Ñ$×+Ñ+°Ð+Ó9Ü×$Ñ$×+Ñ+°Ð+Ó9ð!
ˆÕr   c                 óJ  — | j                  | j                  d¬«       | j                  t        j                  j                  | j                  j                  ¬«      j                  «       d«       t        j                  j                  | j                  j                  ¬«       y)zDTest whether the soft deleted model can be found by filtering on pk.F©Úsave©Úpkr   N)	ÚassertSoftDeleter)   ÚassertEqualr   r   Úfilterr1   ÚcountÚgetr#   s    r   Útest_visible_by_pkz%VisibilityTestCase.test_visible_by_pk0   s   € à×Ñ˜dŸm™m°%ÐÔ8Ø×ÑÜ×"Ñ"×)Ñ)Ø—=‘=×#Ñ#ð *ó ç‰e‹gØô		
ô 	×Ñ×"Ñ"Ø�}‰}×Ñð 	#õ 	
r   c                 ó~  — | j                  | j                  d¬«       | j                  t        j                  j                  | j                  j                  ¬«      j                  «       d«       | j                  t        j                  t        j                  j                  | j                  j                  ¬«       y)zITest whether the soft deleted model cannot be found by filtering on name.Fr.   r"   r   N)r2   r)   r3   r   r   r4   r   r5   ÚassertRaisesÚDoesNotExistr6   r#   s    r   Útest_invisible_by_namez)VisibilityTestCase.test_invisible_by_name>   s‘   € à×Ñ˜dŸm™m°%ÐÔ8Ø×ÑÜ×"Ñ"×)Ñ)Ø—]‘]×'Ñ'ð *ó ç‰e‹gØô		
ð 	×ÑÜ×'Ñ'Ü×"Ñ"×&Ñ&Ø—‘×#Ñ#ð 	õ 	
r   c                 óF  — | j                   d   j                  }| j                   d   j                  «        | j                  t        j
                  t        j                  j                  | j                   d   j                  ¬«       | j                  | j                   d   t        j                  j                  |¬«      «       t        j                  j                  |¬«      }| j                  t        |«      d«       | j                  | j                   d   |d   «       y)zD Test wether the namefield model can be found by filtering on name. r   r0   r"   r   N)r+   r   Údeleter9   r   r:   r   r6   Úidr3   r4   Úlen)r$   r   Úcats      r   Ú#test_access_by_passed_visible_fieldz6VisibilityTestCase.test_access_by_passed_visible_fieldM   sí   € à×$Ñ$ QÑ'×,Ñ,ˆØ×Ñ˜aÑ ×'Ñ'Ô)Ø×ÑÜ×)Ñ)Ü×$Ñ$×(Ñ(Ø×$Ñ$ QÑ'×*Ñ*ð 	ô 	
ð
 	×Ñ˜×.Ñ.¨qÑ1Ô3C×3KÑ3K×3OÑ3OÐUYÐ3OÓ3ZÔ[Ü×&Ñ&×-Ñ-°4Ð-Ó8ˆØ×Ñœ˜S› 1Ô%Ø×Ñ˜×.Ñ.¨qÑ1°3°q±6Õ:r   N)r   r   r   r,   r7   r;   rA   r   r   r   r'   r'   $   s   „ ò
ò
ò
ó;r   r'   N)Ú	django.dbr   Úconfigr   Úmanagersr   r   Útestcaser	   r   r   r   r   r'   r   r   r   ú<module>rF      sS   ðÝ å -Ý (Ý $Ý (ô6Ð(ô 6ô�_ô ô*Ð*ô *ô
�ô ô5;Ð+õ 5;r   