o
    hz                     @   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  ZS )TestPagesSummaryc                    sH   t    tdddd| _t | _| jj| jd tj	j
dd| _d S )Ntest)titleslugcontent)instancez	Test page)name)super
setUpClassr	   	test_pager   get_first_root_nodewagtail_root	add_childr   objectscreatetest_page_groupcls	__class__ e/var/www/html/ndineBlogger/venv/lib/python3.10/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getwsgi_requestrequestselfr   r   r    setUp   s   
zTestPagesSummary.setUpc                 C   s   t | j }| || d S r!   )r   r*   render_htmlassertIn)r,   r   summaryr   r   r    assertSummaryContains!   s   z&TestPagesSummary.assertSummaryContainsc                 C   s   |  td|gd d S )Nwagtailadmin_explore)args)r1   r   )r,   page_pkr   r   r    assertSummaryContainsLinkToPage%      z0TestPagesSummary.assertSummaryContainsLinkToPagec                 C   s   |  t| j  d S r!   )
assertTruer   r*   is_shownr+   r   r   r    .test_user_with_page_permissions_is_shown_panel(   r6   z?TestPagesSummary.test_user_with_page_permissions_is_shown_panelc                 C   s.   |  tj d tj }| |jj d S )N   )assertEqualr   r   countfirstr5   	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)hostnamer>   )r   r   r   r   r5   r?   r+   r   r   r    1test_multiple_sites_summary_links_to_wagtail_root0   s   zBTestPagesSummary.test_multiple_sites_summary_links_to_wagtail_rootc                 C   s    t j   | | jj d S r!   )r   r   allr"   r5   r   r?   r+   r   r   r    +test_no_sites_summary_links_to_wagtail_root4   s   z<TestPagesSummary.test_no_sites_summary_links_to_wagtail_rootc                 C   s   |  tj d  d d S )Nr:   z Pages)r1   r   r   r<   r+   r   r   r    5test_summary_includes_page_count_without_wagtail_root8   s   zFTestPagesSummary.test_summary_includes_page_count_without_wagtail_rootc                 C   s$   t jj| jjd  | d d S )N)r?   z0 Pages)r   r   excluder   r?   r"   r1   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saveassertFalser   r*   r8   r+   r   r   r    5test_user_with_no_page_permissions_is_not_shown_panel?   s   
zFTestPagesSummary.test_user_with_no_page_permissions_is_not_shown_panelc              	   C   s   h d}d| j _| j   | j j| j |D ];}| j|d+ tjj	| j| j
|d}| | j
j | d |  | jj   W d    n1 sMw   Y  qd S )N>   addlockchangeunlockpublishbulk_deleteF)
permission)grouppagepermission_typez1 Page)r&   rI   rJ   groupsrM   r   subTestr   r   r   r   r5   r?   r1   r"   page_permissionsrD   )r,   permissionsrS   permission_objr   r   r    'test_user_with_limited_page_permissionsD   s$   

z8TestPagesSummary.test_user_with_limited_page_permissions)__name__
__module____qualname__classmethodr   r#   r-   r1   r5   r9   rA   rC   rE   rF   rH   rL   r\   __classcell__r   r   r   r    r      s     	r   N)django.contrib.auth.modelsr   django.testr   django.urlsr   wagtail.admin.site_summaryr   wagtail.modelsr   r   r   wagtail.test.testapp.modelsr	   wagtail.test.utilsr
   r   r   r   r   r    <module>   s    