U
    {®ÞhÂ  ã                   @   s~   d dl Z d dlmZmZmZ 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e  d	¡G d
d„ de
eƒƒZdS )é    N)ÚRequestFactoryÚTestCaseÚoverride_settings)Úreverse)ÚWhatsNewInWagtailVersionPanel)ÚWagtailTestUtils)ÚUserProfilec                   @   sd   e Zd Zedd„ ƒZdd„ Zdd„ Zeddd	d
„ ƒZdd„ Z	edddd„ ƒZ
dd„ Zdd„ ZdS )Ú!TestWhatsNewInWagtailVersionPanelc                 C   s<   t ƒ | _| j ¡ | _tƒ | _| jdd| _t 	| j¡| _
d S )NÚtester)Úusername)r   ÚpanelÚget_dismissible_idÚdismissible_idr   Úrequest_factoryZcreate_userÚuserr   Úget_for_userÚprofile)Úcls© r   új/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/admin/tests/test_whats_new.pyÚsetUpTestData   s
    z/TestWhatsNewInWagtailVersionPanel.setUpTestDatac                 C   s   | j  d¡}| j|_d|iS )Nú/Úrequest)r   Úgetr   )Úselfr   r   r   r   Úget_parent_context   s    z4TestWhatsNewInWagtailVersionPanel.get_parent_contextc                 C   s   |   | j ¡ ¡ d S ©N)Z
assertTruer   Úget_whats_new_banner_setting©r   r   r   r   Ú)test_get_whats_new_banner_setting_default   s    zKTestWhatsNewInWagtailVersionPanel.test_get_whats_new_banner_setting_defaultF©ZWAGTAIL_ENABLE_WHATS_NEW_BANNERc                 C   s   |   | j ¡ ¡ d S r   )ZassertFalser   r   r   r   r   r   Ú'test_get_whats_new_banner_setting_false   s    zITestWhatsNewInWagtailVersionPanel.test_get_whats_new_banner_setting_falsec                 C   sJ   | j  |  ¡ ¡}ddd| j› dg}|D ]}|  ||¡ q(|  d|¡ d S ©Núdata-controller="w-dismissible"ú=data-w-dismissible-dismissed-class="w-dismissible--dismissed"údata-w-dismissible-id-value="ú"ú!Things in Wagtail 4 have changed!)r   Úrender_htmlr   r   ÚassertIn©r   ÚresultÚexpected_data_attrsÚ	data_attrr   r   r   Útest_render_html_user_initial    s    ýz?TestWhatsNewInWagtailVersionPanel.test_render_html_user_initialc                 C   s    | j  |  ¡ ¡}|  |d¡ d S )NÚ )r   r(   r   ÚassertEqual©r   r+   r   r   r   Útest_render_html_setting_false+   s    z@TestWhatsNewInWagtailVersionPanel.test_render_html_setting_falsec                 C   s^   | j  ¡  | j ¡  | j |  ¡ ¡}ddd| j› dg}|D ]}|  ||¡ q<|  d|¡ d S r"   )	r   Údeleter   Úrefresh_from_dbr   r(   r   r   r)   r*   r   r   r   Ú test_render_html_user_no_profile0   s    

ýzBTestWhatsNewInWagtailVersionPanel.test_render_html_user_no_profilec                 C   s>   d| j j| j< | j jdgd | j |  ¡ ¡}|  |d¡ d S )NTÚdismissibles©Zupdate_fieldsr/   )r   r6   r   Úsaver   r(   r   r0   r1   r   r   r   Útest_render_html_user_dismissed=   s    zATestWhatsNewInWagtailVersionPanel.test_render_html_user_dismissedN)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   r   r!   r.   r2   r5   r9   r   r   r   r   r	      s   


r	   z"Wagtail 4 banner has been removed.c                   @   sJ   e Zd ZdZdd„ Zdd„ Zdd„ Zedd	d
d„ ƒZdd„ Z	dd„ Z
dS )ÚTestWhatsNewOnDashboardzHTest 'What's New In Wagtail' banner rendered by `wagtailadmin_home` viewc                 C   s(   |   ¡ | _t | j¡| _tƒ  ¡ | _d S r   )Úloginr   r   r   r   r   r   r   r   r   r   r   ÚsetUpH   s    
zTestWhatsNewOnDashboard.setUpc                 C   s   | j  tdƒ¡S )NZwagtailadmin_home)Úclientr   r   r   r   r   r   r   M   s    zTestWhatsNewOnDashboard.getc                 C   sN   |   ¡ }|j d¡}ddd| j› dg}|D ]}|  ||¡ q,|  |d¡ d S ©Núutf-8r#   r$   r%   r&   r'   )r   ÚcontentÚdecoder   r)   ÚassertContains©r   ÚresponseZhtml_contentr,   r-   r   r   r   Útest_get_enabled_initialP   s    ýz0TestWhatsNewOnDashboard.test_get_enabled_initialFr    c                 C   sN   |   ¡ }|j d¡}ddd| j› dg}|D ]}|  ||¡ q,|  |d¡ d S rB   )r   rD   rE   r   ÚassertNotInÚassertNotContainsrG   r   r   r   Útest_get_disabled_initial\   s    ýz1TestWhatsNewOnDashboard.test_get_disabled_initialc                 C   sb   | j  ¡  | j ¡  |  ¡ }|j d¡}ddd| j› dg}|D ]}|  ||¡ q@|  	|d¡ d S rB   )
r   r3   r   r4   r   rD   rE   r   r)   rF   rG   r   r   r   r5   i   s    

ýz8TestWhatsNewOnDashboard.test_render_html_user_no_profilec                 C   sl   d| j j| j< | j jdgd |  ¡ }|j d¡}ddd| j› dg}|D ]}|  ||¡ qJ|  |d	¡ d S )
NTr6   r7   rC   r#   r$   r%   r&   r'   )	r   r6   r   r8   r   rD   rE   rJ   rK   rG   r   r   r   Útest_get_enabled_dismissedw   s    ýz2TestWhatsNewOnDashboard.test_get_enabled_dismissedN)r:   r;   r<   Ú__doc__r@   r   rI   r   rL   r5   rM   r   r   r   r   r>   D   s   
r>   )ZunittestZdjango.testr   r   r   Zdjango.urlsr   Zwagtail.admin.views.homer   Zwagtail.test.utilsr   Zwagtail.users.modelsr   r	   Úskipr>   r   r   r   r   Ú<module>   s   9