o
    \"<f¬6  ã                   @   s‚   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	m
Z
 d dlmZmZ eddei d	ed
dG dd„ deƒƒƒƒZdS )é    )ÚUser)ÚTestCase)Úoverride_settings)Úreverse)ÚtimezoneÚtranslation)ÚCategoryÚEntryé
   )ÚGRAPPELLI_AUTOCOMPLETE_LIMIT)Ú$GRAPPELLI_AUTOCOMPLETE_SEARCH_FIELDSzgrappelli.tests.urls)ÚROOT_URLCONFc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚRelatedTestsc                 C   s¼   t j ddd¡| _t j ddd¡| _d| j_| j ¡  t j dd	d
¡| _d| j_| j ¡  t	dƒD ]}t
jjd| d q1tjjdt ¡ | jd| _tjjdt ¡ | jd| _t d¡ dS )z6
        Create users, categories and entries
        ÚSuperuser001zsuperuser001@example.comÚsuperuser001Ú	Editor001zeditor001@example.comÚ	editor001TÚUser001zuser001@example.comÚuser001Féd   zCategory No %s)ÚnameúEntry Superuser)ÚtitleÚdateÚuserúEntry EditorÚenN)r   ÚobjectsÚcreate_superuserÚsuperuser_1Úcreate_userÚeditor_1Úis_staffÚsaveÚuser_1Úranger   Úcreater	   r   ÚnowÚentry_superuserÚentry_editorr   Úactivate)ÚselfÚi© r-   úS/var/www/html/kck/venv/lib/python3.10/site-packages/grappelli/tests/test_related.pyÚsetUp   s$   

þþzRelatedTests.setUpc                 C   sF   |   tj ¡  ¡ d¡ |   tj ¡  ¡ d¡ |   tj ¡  ¡ d¡ dS )z
        Test setup
        é   r   é   N)ÚassertEqualr   r   ÚallÚcountr   r	   )r+   r-   r-   r.   Ú
test_setup,   s   zRelatedTests.test_setupc                 C   sP  | j jddd | j  tdƒ¡}|  |jd¡ | j jddd | j  tdƒ¡}|  |jd¡ |  |j d	¡d
ddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  d tdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  d!tdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒdd"f ¡}|  |jd¡ |  |j d	¡dd#ddœg¡ | j  d$tdƒdd"f ¡}|  |jd¡ |  |j d	¡d%d&ddœg¡ | j jd'd(d | j  dtdƒdd"f ¡}|  |jd¡ |  |j d	¡dd#ddœg¡ | j  d)tdƒ ¡}|  |jd¡ |  |j d	¡d
ddœg¡ | j  d*tdƒ ¡}|  |jd¡ |  |j d	¡d
ddœg¡ d
S )+z%
        Test related lookup
        r   r   ©ÚusernameÚpasswordÚgrp_related_lookupé“  r   r   éÈ   úutf-8NÚ ©ÚvalueÚlabelú)%s?object_id=1&app_label=%s&model_name=%sÚ	grappelliÚcategoryÚ1úCategory No 0 (1)F©r?   r@   Úsafez5%s?object_id=1&to_field=id&app_label=%s&model_name=%szC%s?object_id=Category+No+0&to_field=name&app_label=%s&model_name=%szCategory No 0ú-%s?object_id=10000&app_label=%s&model_name=%sÚ10000ú?z9%s?object_id=xxx&to_field=name&app_label=%s&model_name=%sÚxxxzA%s?object_id=1&app_label=%s&model_name=%s&query_string=id__gte=99zC%s?object_id=100&app_label=%s&model_name=%s&query_string=id__gte=99Ú100úCategory No 99 (100)zT%s?object_id=1&app_label=%s&model_name=%s&query_string=name__icontains=99:id__gte=99zV%s?object_id=100&app_label=%s&model_name=%s&query_string=name__icontains=99:id__gte=99Úentryr   z)%s?object_id=2&app_label=%s&model_name=%sÚ2r   r   r   z/%s?object_id=1&app_label=false&model_name=falsez.%s?object_id=&app_label=false&model_name=false©	ÚclientÚloginÚgetr   r2   Ústatus_codeÚassertJSONEqualÚcontentÚdecode©r+   Úresponser-   r-   r.   Útest_related_lookup4   sd    z RelatedTests.test_related_lookupc              	   C   s$  | j jddd | j  tdƒ¡}|  |jd¡ | j jddd | j  tdƒ¡}|  |jd¡ |  |j d	¡d
ddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœddddœddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœddddœddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœddddœddddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡ddddœddddœddddœg¡ | j  d tdƒddf ¡}|  |jd¡ |  |j d	¡ddddœddddœddddœg¡ | j  d!tdƒddf ¡}|  |jd¡ |  |j d	¡ddddœddddœddddœg¡ d
S )"z!
        Test M2M lookup
        r   r   r6   r9   r:   r   r   r;   r<   Nr=   r>   rA   Úgrp_m2m_lookuprB   rC   rD   rE   FrF   rH   rI   rJ   z-%s?object_id=1,2,3&app_label=%s&model_name=%srO   zCategory No 1 (2)Ú3zCategory No 2 (3)z1%s?object_id=1,10000,3&app_label=%s&model_name=%szE%s?object_id=1,2,3&app_label=%s&model_name=%s&query_string=id__gte=99zD%s?object_id=1,2,3&app_label=%s&model_name=%s&query_string=id__lte=3zX%s?object_id=1,2,3&app_label=%s&model_name=%s&query_string=name__icontains=99:id__gte=99z]%s?object_id=1,2,3&app_label=%s&model_name=%s&query_string=name__icontains=Category:id__lte=3rP   rX   r-   r-   r.   Útest_m2m_lookup‡   s>   222226zRelatedTests.test_m2m_lookupc                 C   sœ  | j jddd | j  tdƒ¡}|  |jd¡ | j jddd | j  tdƒ¡}|  |jd¡ |  |j d	¡d
ddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡d
ddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡dddœdddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡dddœdddœg¡ | j  dtdƒddf ¡}|  |jd¡ |  |j d	¡dddœg¡ d
S )z*
        Test autocomplete lookup
        r   r   r6   r9   r:   r   r   r;   r<   Nr=   r>   z-%s?term=XXXXXXXXXX&app_label=%s&model_name=%sÚgrp_autocomplete_lookuprB   rC   z	0 resultsz1%s?term=Category No 99&app_label=%s&model_name=%séc   zCategory No 98 (99)r   rM   zC%s?term=Category&app_label=%s&model_name=%s&query_string=id__gte=99zV%s?term=Category&app_label=%s&model_name=%s&query_string=name__icontains=99:id__gte=99rP   rX   r-   r-   r.   Útest_autocomplete_lookup¼   s&   $$ z%RelatedTests.test_autocomplete_lookupN)Ú__name__Ú
__module__Ú__qualname__r/   r5   rZ   r]   r`   r-   r-   r-   r.   r      s    S5r   N)Údjango.contrib.auth.modelsr   Údjango.testr   Údjango.test.utilsr   Údjango.urlsr   Údjango.utilsr   r   Úgrappelli.tests.modelsr   r	   r   r-   r-   r-   r.   Ú<module>   s   