U
    {®Þhs  ã                   @   sj   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
dS )é    )Úquote)ÚTestCase)Úreverse)ÚWagtailTestUtilsc                   @   s&   e Zd ZdgZi fdd„Zdd„ ZdS )ÚTestGenericIndexViewú	test.jsonc                 C   s   | j  tdƒ|¡S )NZtestapp_generic_index©ÚclientÚgetr   )ÚselfÚparams© r   ún/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/admin/tests/test_views_generic.pyr
      s    zTestGenericIndexView.getc                 C   s~   |   ¡ }|  |jd¡ |jd  ¡ }|  |d¡ |  |d¡ |  |d¡ |  |j¡}| d¡}|  	|¡ |  |j
 ¡ d¡ d S )NéÈ   Zobject_listé   z)first modelwithstringtypeprimarykey modelú*second modelwithstringtypeprimarykey modelÚh1z#Model with string type primary keys)r
   ÚassertEqualÚstatus_codeÚcontext_dataÚcountÚassertContainsZget_soupÚcontentZ
select_oneZassertIsNotNoneÚtextÚstrip)r   ÚresponseZresponse_object_countZ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      s   r   c                   @   s>   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S )ÚTestGenericEditViewr   c                 C   s   | j  td|fd|¡S ©NZtestapp_generic_edit)Úargsr   ©r   Ú	object_pkr   r   r   r   r
      s     ÿ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   #   s    
z0TestGenericEditView.test_non_integer_primary_keyc                 C   s0   d}|   t|ƒ¡}|  |jd¡ |  |d¡ d S )Nústring-pk-:#?;@&=+$,"[]<>%r   z3non-url-safe pk modelwithstringtypeprimarykey model)r
   r   r   r   r   ©r   r%   r   r   r   r   Útest_non_url_safe_primary_key(   s     ÿz1TestGenericEditView.test_non_url_safe_primary_keyc                 C   s>   d}|   t|ƒ¡}|jd }| d¡d }|  |t|ƒ¡ d S )Nr(   Z
action_urlú/éþÿÿÿ©r
   r   r   Úsplitr   )r   r%   r   Zedit_urlZedit_url_pkr   r   r   Útest_using_quote_in_edit_url0   s
    
z0TestGenericEditView.test_using_quote_in_edit_urlc                 C   s>   d}|   t|ƒ¡}|jd }| d¡d }|  |t|ƒ¡ d S )Nr(   Ú
delete_urlr+   r,   r-   )r   r%   r   r0   Zdelete_url_pkr   r   r   Útest_using_quote_in_delete_url7   s
    
z2TestGenericEditView.test_using_quote_in_delete_urlN)	r   r   r   r    r
   r   r*   r/   r1   r   r   r   r   r!      s   r!   c                   @   s.   e Zd ZdgZi fdd„Zdd„ Zdd„ ZdS )	ÚTestGenericDeleteViewr   c                 C   s   | j  td|fd|¡S r"   r   r$   r   r   r   r
   B   s     ÿzTestGenericDeleteView.getc                 C   s   |   d¡}|  |jd¡ d S )Nr&   r   )r
   r   r   r'   r   r   r   Ú!test_with_non_integer_primary_keyG   s    
z7TestGenericDeleteView.test_with_non_integer_primary_keyc                 C   s$   d}|   t|ƒ¡}|  |jd¡ d S )Nr(   r   )r
   r   r   r   r)   r   r   r   Ú"test_with_non_url_safe_primary_keyK   s    z8TestGenericDeleteView.test_with_non_url_safe_primary_keyN)r   r   r   r    r
   r3   r4   r   r   r   r   r2   ?   s   r2   N)Zdjango.contrib.admin.utilsr   Zdjango.testr   Zdjango.urlsr   Zwagtail.test.utilsr   r   r!   r2   r   r   r   r   Ú<module>   s   $