U
    {®Þhs  ã                   @   sr   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
mZ d dlmZ d dlmZ G dd	„ d	eeƒZd
S )é    )ÚGroup)ÚTestCase)Úreverse)ÚPagesSummaryItem)ÚGroupPagePermissionÚPageÚSite)Ú
SimplePage)ÚWagtailTestUtilsc                       s   e Zd Ze‡ fdd„ƒZe‡ fdd„ƒZdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z‡  ZS )ÚTestPagesSummaryc                    s^   t ƒ  ¡  tdddd| _t ¡ | _| jj| jd tj	j
dd| _tj	j
| j| jdd d S )NÚtest)ÚtitleZslugÚcontent)Úinstancez	Test page)ÚnameZchange)ÚgroupÚpageZpermission_type)ÚsuperÚ
setUpClassr	   Ú	test_pager   Zget_first_root_nodeÚwagtail_rootZ	add_childr   ÚobjectsÚcreateÚtest_page_groupr   ©Úcls©Ú	__class__© úm/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/admin/tests/test_site_summary.pyr      s    

  ÿzTestPagesSummary.setUpClassc                    s"   | j  ¡  | j ¡  tƒ  ¡  d S ©N)r   Údeleter   r   ÚtearDownClassr   r   r   r   r"      s    

zTestPagesSummary.tearDownClassc                 C   s   |   ¡ | _| j d¡j| _d S )Nú/)ÚloginÚuserÚclientÚgetZwsgi_requestÚrequest©Úselfr   r   r   ÚsetUp    s    
zTestPagesSummary.setUpc                 C   s   t | jƒ ¡ }|  ||¡ d S r    )r   r(   Zrender_htmlZassertIn)r*   r   Úsummaryr   r   r   ÚassertSummaryContains$   s    z&TestPagesSummary.assertSummaryContainsc                 C   s   |   td|gd¡ d S )NZwagtailadmin_explore)Úargs)r-   r   )r*   Zpage_pkr   r   r   ÚassertSummaryContainsLinkToPage(   s    z0TestPagesSummary.assertSummaryContainsLinkToPagec                 C   s   |   t| jƒ ¡ ¡ d S r    )Z
assertTruer   r(   Úis_shownr)   r   r   r   Ú.test_user_with_page_permissions_is_shown_panel+   s    z?TestPagesSummary.test_user_with_page_permissions_is_shown_panelc                 C   s.   |   tj ¡ d¡ tj ¡ }|  |jj¡ d S )Né   )ZassertEqualr   r   ÚcountÚfirstr/   Ú	root_pageÚpk)r*   Úsiter   r   r   Ú+test_single_site_summary_links_to_site_root.   s    
z<TestPagesSummary.test_single_site_summary_links_to_site_rootc                 C   s$   t jjd| jd |  | jj¡ d S )Nzfoo.com)Úhostnamer5   )r   r   r   r   r/   r6   r)   r   r   r   Ú1test_multiple_sites_summary_links_to_wagtail_root3   s    zBTestPagesSummary.test_multiple_sites_summary_links_to_wagtail_rootc                 C   s    t j ¡  ¡  |  | jj¡ d S r    )r   r   Úallr!   r/   r   r6   r)   r   r   r   Ú+test_no_sites_summary_links_to_wagtail_root7   s    z<TestPagesSummary.test_no_sites_summary_links_to_wagtail_rootc                 C   s    |   dtj ¡ d › d¡ d S )Nz<span>r2   z</span> Pages)r-   r   r   r3   r)   r   r   r   Ú5test_summary_includes_page_count_without_wagtail_root;   s    zFTestPagesSummary.test_summary_includes_page_count_without_wagtail_rootc                 C   s$   t jj| jjd ¡  |  d¡ d S )N)r6   z<span>0</span> Pages)r   r   Úexcluder   r6   r!   r-   r)   r   r   r   Ú?test_summary_shows_zero_pages_if_none_exist_except_wagtail_root>   s    zPTestPagesSummary.test_summary_shows_zero_pages_if_none_exist_except_wagtail_rootc                 C   s*   d| j _| j  ¡  |  t| jƒ ¡ ¡ d S ©NF)r%   Úis_superuserÚsaveZassertFalser   r(   r0   r)   r   r   r   Ú5test_user_with_no_page_permissions_is_not_shown_panelB   s    
zFTestPagesSummary.test_user_with_no_page_permissions_is_not_shown_panelc                 C   s4   d| j _| j  ¡  | j j | j¡ |  | jj¡ d S r@   )	r%   rA   rB   ÚgroupsÚaddr   r/   r   r6   r)   r   r   r   ÚCtest_user_with_limited_page_permissions_summary_links_to_their_rootG   s    
zTTestPagesSummary.test_user_with_limited_page_permissions_summary_links_to_their_rootc                 C   s0   d| j _| j  ¡  | j j | j¡ |  d¡ d S )NFz<span>1</span> Page)r%   rA   rB   rD   rE   r   r-   r)   r   r   r   Ú>test_user_with_limited_page_permissions_sees_proper_page_countM   s    
zOTestPagesSummary.test_user_with_limited_page_permissions_sees_proper_page_count)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r"   r+   r-   r/   r1   r8   r:   r<   r=   r?   rC   rF   rG   Ú__classcell__r   r   r   r   r      s    r   N)Zdjango.contrib.auth.modelsr   Zdjango.testr   Zdjango.urlsr   Zwagtail.admin.site_summaryr   Zwagtail.modelsr   r   r   Zwagtail.test.testapp.modelsr	   Zwagtail.test.utilsr
   r   r   r   r   r   Ú<module>   s   