o
    h                     @   s|   d dl mZ d dlmZ d dlmZ d dlmZ G dd deeZG dd deeZ	G d	d
 d
eeZ
G dd deeZdS )    )quote)TestCase)reverse)WagtailTestUtilsc                   @   &   e Zd ZdgZi fddZdd ZdS )TestGenericIndexView	test.jsonc                 C      | j td|S )Ntestapp_generic_indexclientgetr   selfparams r   f/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/tests/test_views_generic.pyr         zTestGenericIndexView.getc                 C   s~   |   }| |jd |jd  }| |d | |d | |d | |j}|d}| 	| | |j
 d d S )N   object_list   z)first modelwithstringtypeprimarykey model*second modelwithstringtypeprimarykey modelh1z#Model with string type primary keys)r   assertEqualstatus_codecontext_datacountassertContainsget_soupcontent
select_oneassertIsNotNonetextstrip)r   responseresponse_object_countsoupr   r   r   r   test_non_integer_primary_key   s   

z1TestGenericIndexView.test_non_integer_primary_keyN__name__
__module____qualname__fixturesr   r'   r   r   r   r   r          r   c                   @   r   ) TestGenericIndexViewWithoutModelr   c                 C   r	   )N#testapp_generic_index_without_modelr   r   r   r   r   r      r   z$TestGenericIndexViewWithoutModel.getc                 C   s4   |   }| |jd |jd  }| |d d S )Nr   r   r   )r   r   r   r   r   )r   r$   r%   r   r   r   r'   !   s   z=TestGenericIndexViewWithoutModel.test_non_integer_primary_keyNr(   r   r   r   r   r.      r-   r.   c                   @   sF   e Zd ZdgZi fddZdd Zdd Zdd	 Zd
d Zdd Z	dS )TestGenericEditViewr   c                 C      | j td|fd|S Ntestapp_generic_edit)argsr   r   	object_pkr   r   r   r   r   +      zTestGenericEditView.getc                 C   s(   |  d}| |jd | |d d S )Nstring-pk-2r   r   )r   r   r   r   r   r$   r   r   r   r'   0   s   
z0TestGenericEditView.test_non_integer_primary_keyc                 C   0   d}|  t|}| |jd | |d d S )Nstring-pk-:#?;@&=+$,"[]<>%r   z3non-url-safe pk modelwithstringtypeprimarykey modelr   r   r   r   r   r   r6   r$   r   r   r   test_non_url_safe_primary_key5      z1TestGenericEditView.test_non_url_safe_primary_keyc                 C   r:   )Nweb_407269_1r   z5unquote-sensitive modelwithstringtypeprimarykey modelr<   r=   r   r   r   "test_unquote_sensitive_primary_key=   r?   z6TestGenericEditView.test_unquote_sensitive_primary_keyc              	   C   p   dD ]3}| j |d# | t|}|jd }|dd }| |t| W d    n1 s0w   Y  qd S )Nr;   r@   r6   
action_url/subTestr   r   r   splitr   )r   r6   r$   edit_urledit_url_pkr   r   r   test_using_quote_in_edit_urlE      
z0TestGenericEditView.test_using_quote_in_edit_urlc              	   C   rB   )NrC   rD   
delete_urlrF   rG   rH   )r   r6   r$   rO   delete_url_pkr   r   r   test_using_quote_in_delete_urlM   rN   z2TestGenericEditView.test_using_quote_in_delete_urlN)
r)   r*   r+   r,   r   r'   r>   rA   rM   rQ   r   r   r   r   r0   (   s    r0   c                   @   s6   e Zd ZdgZi fddZdd Zdd Zdd	 Zd
S )TestGenericDeleteViewr   c                 C   r1   r2   r   r5   r   r   r   r   Y   r7   zTestGenericDeleteView.getc                 C   s   |  d}| |jd d S )Nr8   r   )r   r   r   r9   r   r   r   !test_with_non_integer_primary_key^   s   
z7TestGenericDeleteView.test_with_non_integer_primary_keyc                 C   $   d}|  t|}| |jd d S )Nr;   r   r   r   r   r   r=   r   r   r   "test_with_non_url_safe_primary_keyb      z8TestGenericDeleteView.test_with_non_url_safe_primary_keyc                 C   rT   )Nr@   r   rU   r=   r   r   r   'test_with_unquote_sensitive_primary_keyg   rW   z=TestGenericDeleteView.test_with_unquote_sensitive_primary_keyN)r)   r*   r+   r,   r   rS   rV   rX   r   r   r   r   rR   V   s    rR   N)django.contrib.admin.utilsr   django.testr   django.urlsr   wagtail.test.utilsr   r   r.   r0   rR   r   r   r   r   <module>   s    .