o
    ËÉhZŠ  ã                   @   sø   d dl Z d dlmZ d dlmZmZ 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 d d	lmZmZ d d
lmZmZmZmZmZ d dlmZ d dlmZ G dd„ deeƒZdd„ ZG dd„ deeƒZG dd„ deeƒZ G dd„ deeƒZ!dS )é    N©Úwraps)ÚTestCaseÚoverride_settings)Úreverse)Útimezone)Úfreeze_time)Úversioned_static)ÚPreviewOnEdit)ÚPageÚSite)ÚCustomPreviewSizesPageÚEventCategoryÚMultiPreviewModesPageÚ
SimplePageÚ
StreamPage)ÚWagtailTestUtils)ÚRemovedInWagtail70Warningc                   @   s   e Zd ZdZdd„ ZdS )ÚTestIssue2599ar  
    When previewing a page on creation, we need to assign it a path value consistent with its
    (future) position in the tree. The naive way of doing this is to give it an index number
    one more than numchild - however, index numbers are not reassigned on page deletion, so
    this can result in a path that collides with an existing page (which is invalid).
    c                 C   s   t jjdd}t dd}|j|d t dd}|j|d | ¡  |  ¡  ddd	d
dœ}tddd|jfd}| j 	||¡}|  
|jd¡ |  |j ¡ dddœ¡ | j |¡}|  
|jd¡ |  |d¡ |  |d¡ |  
|jd j|jd ¡ |  |jd j |j¡¡ |  
|jd  ¡ |¡ d S )Né   ©ÚidÚchild1©Útitle©ÚinstanceÚchild2z	New page!zSome contentzhello-worldÚSubmit)r   ÚcontentÚslugzaction-submitú!wagtailadmin_pages:preview_on_addÚtestsÚ
simplepage©ÚargséÈ   T©Úis_validÚis_availableútests/simple_page.htmlÚselfé   )r   ÚobjectsÚgetÚ	add_childÚdeleteÚloginr   r   ÚclientÚpostÚassertEqualÚstatus_codeÚassertJSONEqualr   ÚdecodeÚassertTemplateUsedÚassertContainsÚcontextÚdepthÚ
assertTrueÚpathÚ
startswithÚ
get_parent)r+   Úhomepager   r   Ú	post_dataÚpreview_urlÚresponse© rD   úf/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/tests/pages/test_preview.pyÚtest_issue_2599   s:   

ü
þþzTestIssue2599.test_issue_2599N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rF   rD   rD   rD   rE   r      s    r   c                    s   ‡ fdd„}|S )Nc                    s   t ˆ ƒ‡ ‡fdd„ƒ}|S )Nc                     s6   ˆj  ¡  zˆ | i |¤Ž W ˆj  ¡  d S ˆj  ¡  w )N)Úget_edit_handlerÚcache_clear)r%   Úkwargs)ÚfnÚpage_clsrD   rE   Ú	decoratedL   s   
z8clear_edit_handler.<locals>.decorator.<locals>.decoratedr   )rN   rP   ©rO   )rN   rE   Ú	decoratorK   s   	z%clear_edit_handler.<locals>.decoratorrD   )rO   rR   rD   rQ   rE   Úclear_edit_handlerJ   s   rS   c                   @   sz   e Zd Zdg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dd„ ZdS )ÚTestPreviewz	test.jsonc                 C   sò   t jjdd| _t jjdd| _t jjdd| _tjjdd| _tjjdd| _	|  
¡ | _i dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“dddddd| jj| jjgdddd!d"œ¥| _d S )#NÚMeetings)ÚnameÚPartiesÚHolidaysz/home/)Úurl_pathz/home/events/christmas/r   úBeach partyr    zbeach-partyÚbodyz³{"entityMap": {},"blocks": [
                {"inlineStyleRanges": [], "text": "party on wayne", "depth": 0, "type": "unstyled", "key": "00000", "entityRanges": []}
            ]}Ú	date_fromz
2017-08-01ÚaudienceÚpublicÚlocationz	the beachÚcostz	six squidzcarousel_items-TOTAL_FORMSr   zcarousel_items-INITIAL_FORMSzcarousel_items-MIN_NUM_FORMSzcarousel_items-MAX_NUM_FORMSzspeakers-TOTAL_FORMSzspeakers-INITIAL_FORMSzspeakers-MIN_NUM_FORMSzspeakers-MAX_NUM_FORMSzrelated_links-TOTAL_FORMSzrelated_links-INITIAL_FORMSiè  )zrelated_links-MIN_NUM_FORMSzrelated_links-MAX_NUM_FORMSzhead_counts-TOTAL_FORMSzhead_counts-INITIAL_FORMSzhead_counts-MIN_NUM_FORMSzhead_counts-MAX_NUM_FORMSÚ
categorieszcomments-TOTAL_FORMSzcomments-INITIAL_FORMSzcomments-MIN_NUM_FORMSzcomments-MAX_NUM_FORMS)r   r-   ÚcreateÚmeetings_categoryÚparties_categoryÚholidays_categoryr   r.   Ú	home_pageÚ
event_pager1   Úuserr   rA   ©r+   rD   rD   rE   ÚsetUp^   sj   
ÿþýúùø	÷
öõôóòñðïîíâzTestPreview.setUpc                 C   sŽ   t ddd| jjfd}d | jj¡}|  || jj¡ | j |¡}|  |j	d¡ |  
|d¡ | j|dd	d
 | j|dd	d
 |  |tdƒ¡ d S )Nr!   r"   Ú	eventpager$   ú"wagtail-preview-tests-eventpage-{}r&   ú'wagtailadmin/generic/preview_error.htmlú.<title>Preview not available - Wagtail</title>T©Úhtmlú;<h1 class="preview-error__title">Preview not available</h1>úwagtailadmin/js/icons.js)r   rf   r   ÚformatÚassertNotInr2   Úsessionr.   r4   r5   r8   r9   ÚassertNotContainsr	   ©r+   rB   Úpreview_session_keyrC   rD   rD   rE   Ú+test_preview_on_create_with_no_session_data‰   s,   þÿýýz7TestPreview.test_preview_on_create_with_no_session_datac                 C   sà   t ddd| jjfd}d | jj¡}|  || jj¡ | j |i | j¥ddi¥¡}|  	|j
d¡ |  |j ¡ d	d	d
œ¡ |  || jj¡ | j |¡}|  	|j
d¡ |  |d¡ | j|ddd | j|ddd |  |tdƒ¡ d S )Nr!   r"   rk   r$   rl   r   Ú r&   Fr'   rm   rn   Tro   rq   rr   )r   rf   r   rs   rt   r2   ru   r3   rA   r4   r5   r6   r   r7   r.   r8   r9   rv   r	   rw   rD   rD   rE   Ú(test_preview_on_create_with_invalid_data¥   s:   þÿþýýz4TestPreview.test_preview_on_create_with_invalid_datac                 C   s¸   t ddd| jjfd}| j || j¡}|  |jd¡ |  |j	 
¡ dddœ¡ d | jj¡}|  || jj¡ | j |¡}|  |jd¡ |  |d	¡ |  |d
¡ |  |d¡ |  |d¡ d S )Nr!   r"   rk   r$   r&   Tr'   rl   útests/event_page.htmlrZ   ú<li>Parties</li>ú<li>Holidays</li>)r   rf   r   r2   r3   rA   r4   r5   r6   r   r7   rs   ÚassertInru   r.   r8   r9   ©r+   rB   rC   rx   rD   rD   rE   Ú%test_preview_on_create_with_m2m_fieldÍ   s(   þþÿz1TestPreview.test_preview_on_create_with_m2m_fieldc                 C   sÎ   t jjddjdd tddd| jjfd}| j || j	¡}|  
|jd	¡ |  |j ¡ ddd
œ¡ d | jj¡}|  || jj¡ | j |¡}|  
|jd	¡ |  |d¡ |  |d¡ |  |d¡ |  |d¡ d S )NT©Úis_default_siteúbad.example.com©Úhostnamer!   r"   rk   r$   r&   r'   rl   r|   rZ   r}   r~   )r   r-   ÚfilterÚupdater   rf   r   r2   r3   rA   r4   r5   r6   r   r7   rs   r   ru   r.   r8   r9   r€   rD   rD   rE   Ú3test_preview_on_create_with_incorrect_site_hostnameê   s*   þþÿz?TestPreview.test_preview_on_create_with_incorrect_site_hostnamec                 C   s´   t d| jjfd}| j || j¡}|  |jd¡ |  |j	 
¡ dddœ¡ d| jj› }|  || jj¡ | j |¡}|  |jd¡ |  |d¡ |  |d¡ |  |d	¡ |  |d
¡ d S )Nú"wagtailadmin_pages:preview_on_editr$   r&   Tr'   úwagtail-preview-r|   rZ   r}   r~   ©r   rg   r   r2   r3   rA   r4   r5   r6   r   r7   r   ru   r.   r8   r9   r€   rD   rD   rE   Ú#test_preview_on_edit_with_m2m_field  s"   
ÿþz/TestPreview.test_preview_on_edit_with_m2m_fieldc                 C   sÊ   t jjddjdd td| jjfd}| j || j	¡}|  
|jd¡ |  |j ¡ dddœ¡ d	| jj› }|  || jj¡ | j |¡}|  
|jd¡ |  |d
¡ |  |d¡ |  |d¡ |  |d¡ d S )NTr‚   r„   r…   rŠ   r$   r&   r'   r‹   r|   rZ   r}   r~   )r   r-   r‡   rˆ   r   rg   r   r2   r3   rA   r4   r5   r6   r   r7   r   ru   r.   r8   r9   r€   rD   rD   rE   Ú1test_preview_on_edit_with_incorrect_site_hostname%  s$   
ÿþz=TestPreview.test_preview_on_edit_with_incorrect_site_hostnamec                 C   sö   t d| jjfd}| j || j¡}|  |jd¡ |  |j	 
¡ dddœ¡ | j |i | j¥ddi¥¡}|  |jd¡ |  |j	 
¡ dddœ¡ d	| jj› }|  || jj¡ | j |¡}|  |jd¡ |  |d
¡ |  |d¡ |  |d¡ |  |d¡ d S )NrŠ   r$   r&   Tr'   r   rz   Fr‹   r|   rZ   r}   r~   rŒ   r€   rD   rD   rE   Ú1test_preview_on_edit_with_valid_then_invalid_dataC  s.   
ÿþþz=TestPreview.test_preview_on_edit_with_valid_then_invalid_datac                 C   sê   t  ¡ }|tjtjd d }t|ƒX}td| jj	fd}| j
 || j¡}|  |jd¡ | j
 |¡}|  |jd¡ | |¡ td| jj	fd}| j
 || j¡}|  |jd¡ | j
 |¡}|  |jd¡ W d   ƒ d S 1 snw   Y  d S )Nr,   )ÚsecondsrŠ   r$   r&   )r   ÚnowÚdatetimeÚ	timedeltar
   Úpreview_expiration_timeoutr   r   rg   r   r2   r3   rA   r4   r5   r.   Úmove_torf   )r+   Úinitial_datetimeÚexpiry_datetimeÚfrozen_datetimerB   rC   rD   rD   rE   Útest_preview_on_edit_expirye  s*   ÿ

ÿ

ÿ"êz'TestPreview.test_preview_on_edit_expiryc                 C   sÊ   d  | jj¡}d| jj|< tddd| jjfd}| j |¡}|  |jd¡ |  	|j
 ¡ dd	i¡ |  || jj¡ | j |¡}|  |jd¡ |  |d
¡ | j|dd	d | j|dd	d |  |tdƒ¡ d S )Nrl   ú	test datar!   r"   rk   r$   r&   ÚsuccessTrm   rn   ro   rq   rr   )rs   rf   r   r2   ru   r   r0   r4   r5   r6   r   r7   rt   r.   r8   r9   rv   r	   ©r+   rx   rB   rC   rD   rD   rE   Ú)test_preview_on_create_clear_preview_dataƒ  s:   ÿþþýýz5TestPreview.test_preview_on_create_clear_preview_datac                 C   sÆ   d| j j› }d| jj|< td| j jfd}| j |¡}|  |jd¡ |  |j	 
¡ ddi¡ |  || jj¡ | j |¡}|  |jd¡ |  |d¡ | j|d	dd
 | j|ddd
 |  |tdƒ¡ d S )Nr‹   rš   rŠ   r$   r&   r›   Trm   rn   ro   rq   rr   )rg   r   r2   ru   r   r0   r4   r5   r6   r   r7   rt   r.   r8   r9   rv   r	   rœ   rD   rD   rE   Ú'test_preview_on_edit_clear_preview_dataª  s4   
ÿþýýz3TestPreview.test_preview_on_edit_clear_preview_datac              	   C   sÄ   t ddd| jjfd}| jj|dddœd}|  |jd	¡ |  |j 	¡ d
d
dœ¡ g d¢}|D ]0\}}| j
||d | j || ¡}|  |jd	¡ |  ||¡ W d   ƒ n1 sZw   Y  q/d S )Nr!   r"   Úmultipreviewmodespager$   ÚTestÚtest)r   r    )Údatar&   Tr'   ))rz   útests/simple_page_alt.html)z?mode=originalr*   )ú?mode=alt%231r£   )ÚparamsÚtemplate)r   rf   r   r2   r3   r4   r5   r6   r   r7   ÚsubTestr.   r8   )r+   rB   rC   Úcasesr¥   r¦   rD   rD   rE   Útest_preview_modesÎ  s&   þþý€ÿzTestPreview.test_preview_modesc                 C   sä   t dd}| jj|d td|jfd}| j |¡}|  |jd¡ |  	|j
¡}| d¡}|  t|ƒd¡ |  d	|d
 d ¡ |  d|d
 d ¡ |  |d
  d¡¡ |  d|d d ¡ |  d|d d ¡ |  |d  d¡¡ d S )NzCustom preview sizer   r   úwagtailadmin_pages:editr$   r&   z(input[type="radio"][name="preview-size"]r   Ú412r   zdata-device-widthzCustom mobile previewz
aria-labelÚcheckedÚ1280r,   zOriginal desktop)r   rf   r/   r   r   r2   r.   r4   r5   Úget_soupr   ÚselectÚlenÚassertFalseÚhas_attrr<   )r+   ÚpageÚedit_urlrC   ÚsoupÚradiosrD   rD   rE   Útest_preview_sizesç  s   

zTestPreview.test_preview_sizesN)rG   rH   rI   Úfixturesrj   ry   r{   r   r‰   r   rŽ   r   r™   r   rž   r©   r·   rD   rD   rD   rE   rT   [   s    +(!"'$rT   c                   @   s‚   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	e
dddd„ ƒZe
dddd„ ƒZe
dddd„ ƒZdd„ ZdS )ÚTestEnablePreviewc                 C   sX   t jjdd| _|  ¡ | _tddd| _tdd| _	| jj
| jd | jj
| j	d d S )	Nr   r   zSingle preview modeÚfoo)r   r   zMultiple preview modesr   r   )r   r-   r.   Ú	root_pager1   rh   r   Úsingler   Úmultipler/   ri   rD   rD   rE   rj   ý  s   
zTestEnablePreview.setUpc                 C   s(   t |ƒjj}td|› d|| jjfdS )Núwagtailadmin_pages:r"   r$   )ÚtypeÚ_metaÚ
model_namer   r»   r   )r+   rV   r³   rÁ   rD   rD   rE   Úget_url_on_add	  s
   þz TestEnablePreview.get_url_on_addc                 C   s   t d|› |jfdS )Nr¾   r$   )r   r   )r+   rV   r³   rD   rD   rE   Úget_url_on_edit  s   z!TestEnablePreview.get_url_on_editc                 C   s,  |   d| j¡}|   d| j¡}|d }| j |¡}|  |jd¡ |  |j¡}|  | 	d¡¡ | 
dddi¡}|  |¡ |  d	|d
 ¡ |  d|d ¡ | 	d¡}|  |¡ |  | d¡|¡ | 	d¡}|  |¡ |  | d¡d¡ | 	d¡}	|  |	¡ |  |	d |¡ |  |	d d¡ | 	d¡}
|  |
¡ d S )NÚaddÚpreview_on_addú?mode=r&   ú[data-side-panel="preview"]Úbuttonúdata-side-panel-toggleÚpreviewúw-tooltip w-kbdúdata-controllerúmod+púdata-w-kbd-key-valueú[data-controller="w-preview"]údata-w-preview-url-valueú#w-preview-iframeúdata-w-preview-targetÚiframeú!a[data-w-preview-target="newTab"]ÚhrefÚtargetÚ_blankú[data-w-preview-target="mode"])rÂ   r¼   r2   r.   r4   r5   r®   r   ÚassertIsNotNoneÚ
select_oneÚfindÚassertIsNone)r+   Ú
create_urlrB   Únew_tab_urlrC   rµ   Útoggle_buttonÚ
controllerrÓ   Únew_tab_buttonÚmode_selectrD   rD   rE   Ú2test_show_preview_panel_on_create_with_single_mode  s.   







zDTestEnablePreview.test_show_preview_panel_on_create_with_single_modec                 C   óR  |   d| j¡}|   d| j¡}|d }| j |¡}|  |jd¡ |  |d¡ |  |d¡ |  |j¡}| 	d¡}|  
|¡ |  | d¡|¡ | 	d	¡}|  
|¡ |  | d
¡d¡ | 	d¡}|  
|¡ |  |d |¡ |  |d d¡ | 	d¡}	|  
|	¡ |  |	d d¡ |	 	d¡}
|  
|
¡ |  
|
 d¡¡ |	 	d¡}|  
|¡ |  | d¡¡ d S )NrÄ   rÅ   r¤   r&   ú data-side-panel-toggle="preview"údata-side-panel="preview"rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   r   Úid_preview_modeúoption[value="alt#1"]Úselectedúoption[value="original"])rÂ   r½   r2   r.   r4   r5   r9   r®   r   rÚ   rÙ   rÜ   )r+   rÝ   rB   rÞ   rC   rµ   rà   rÓ   rá   râ   Údefault_optionÚother_optionrD   rD   rE   Ú5test_show_preview_panel_on_create_with_multiple_modes7  ó6   











zGTestEnablePreview.test_show_preview_panel_on_create_with_multiple_modesc                 C   sŠ  |   d| j¡}|   d| j¡}|d }| j |¡}|  |jd¡ |  |j¡}|  | 	d¡¡ | 
dddi¡}|  |¡ |  d	|d
 ¡ |  d|d ¡ | 	d¡}|  |¡ |  | d¡|¡ | d¡}|  |d¡ | 	d¡}	|  |	¡ |  |	 d¡¡ |  |	 	d¡¡ | 	d¡}
|  |
¡ | 	d¡}|  |¡ |  | d¡d¡ | 	d¡}|  |¡ |  |d |¡ |  |d d¡ | 	d¡}|  |¡ d S )NÚeditÚpreview_on_editrÆ   r&   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   ú)data-w-preview-auto-update-interval-valueÚ500ú![data-w-preview-target="spinner"]Úhiddenúsvg.icon-spinnerrÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   )rÃ   r¼   r2   r.   r4   r5   r®   r   rÙ   rÚ   rÛ   rÜ   )r+   r´   rB   rÞ   rC   rµ   rß   rà   Úinterval_valueÚspinnerÚrefresh_buttonrÓ   rá   râ   rD   rD   rE   Ú0test_show_preview_panel_on_edit_with_single_mode_  s>   












zBTestEnablePreview.test_show_preview_panel_on_edit_with_single_modec                 C   rä   )Nrï   rð   r¤   r&   rå   ræ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   r   rç   rè   ré   rê   )rÃ   r½   r2   r.   r4   r5   r9   r®   r   rÚ   rÙ   rÜ   )r+   r´   rB   rÞ   rC   rµ   rà   rÓ   rá   râ   rë   rì   rD   rD   rE   Ú3test_show_preview_panel_on_edit_with_multiple_modes  rî   zETestEnablePreview.test_show_preview_panel_on_edit_with_multiple_modesi90  )Ú$WAGTAIL_AUTO_UPDATE_PREVIEW_INTERVALc           	      C   sÊ   |   d| j¡}|   d| j¡}| j |¡}|  |jd¡ |  |j¡}| d¡}|  	|¡ |  | d¡|¡ | d¡}|  |d¡ | d¡}|  	|¡ |  	| d	¡¡ |  	| d
¡¡ | d¡}|  
|¡ d S )Nrï   rð   r&   rÏ   rÐ   rñ   Ú12345ró   rô   rõ   rÈ   )rÃ   r¼   r2   r.   r4   r5   r®   r   rÚ   rÙ   rÜ   ©	r+   r´   rB   rC   rµ   rà   rö   r÷   rø   rD   rD   rE   Ú test_custom_auto_update_interval·  s    





z2TestEnablePreview.test_custom_auto_update_intervalr   c           	      C   sÎ   |   d| j¡}|   d| j¡}| j |¡}|  |jd¡ |  |j¡}| d¡}|  	|¡ |  | d¡|¡ | d¡}|  |d¡ | d¡}|  
|¡ | d	¡}|  	|¡ |  | d
¡d¡ |  |j ¡ d¡ d S )Nrï   rð   r&   rÏ   rÐ   rñ   Ú0ró   rÈ   rÌ   ú
w-progressÚRefresh)rÃ   r¼   r2   r.   r4   r5   r®   r   rÚ   rÙ   rÜ   ÚtextÚstriprý   rD   rD   rE   Ú,test_disable_auto_update_using_zero_intervalÒ  s    






z>TestEnablePreview.test_disable_auto_update_using_zero_intervalF)ÚWAGTAIL_AUTO_UPDATE_PREVIEWc           	      C   sú   |   d| j¡}|   d| j¡}|  td¡ | j |¡}W d   ƒ n1 s%w   Y  |  |jd¡ |  |j	¡}| 
d¡}|  |¡ |  | d¡|¡ | d¡}|  |d¡ | 
d	¡}|  |¡ | 
d
¡}|  |¡ |  | d¡d¡ |  |j ¡ d¡ d S )Nrï   rð   z€`WAGTAIL_AUTO_UPDATE_PREVIEW` is deprecated. Set `WAGTAIL_AUTO_UPDATE_PREVIEW_INTERVAL = 0` to disable auto-update for previews.r&   rÏ   rÐ   rñ   rÿ   ró   rÈ   rÌ   r   r  )rÃ   r¼   ÚassertWarnsMessager   r2   r.   r4   r5   r®   r   rÚ   rÙ   rÜ   r  r  rý   rD   rD   rE   Ú1test_disable_auto_update_using_deprecated_settingí  s*   þú






zCTestEnablePreview.test_disable_auto_update_using_deprecated_settingc                 C   s|   | j jdd}|  d| j ¡}td| j j|jfd}| j |¡}|  |j¡}| 	dd|i¡}|  
t|ƒd¡ |  
d	|j¡ d S )
NT©Ú
log_actionÚhistoryú!wagtailadmin_pages:revisions_viewr$   ÚarÕ   r,   ÚPreview)r¼   Úsave_revisionrÃ   r   r   r2   r.   r®   r   rÛ   r4   r°   r  )r+   Úlatest_revisionÚhistory_urlrB   rC   rµ   Úpreview_linkrD   rD   rE   Ú#test_show_preview_on_revisions_list  s   þz5TestEnablePreview.test_show_preview_on_revisions_listN)rG   rH   rI   rj   rÂ   rÃ   rã   rí   rù   rú   r   rþ   r  r  r  rD   rD   rD   rE   r¹   ü  s    $(0(


 r¹   c                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚTestDisablePreviewButtonz\
    Test that preview button can be disabled by setting preview_modes to an empty list
    c                 C   s   t jjdd| _|  ¡ | _d S )Nr   r   )r   r-   r.   r»   r1   rh   ri   rD   rD   rE   rj   #  s   zTestDisablePreviewButton.setUpc                 C   sv   | j  tddd| jjfd¡}|  |jd¡ tddd| jjfd}|  |d¡ |  |d¡ |  |d	¡ |  ||¡ d S )
Nzwagtailadmin_pages:addr"   Ú
streampager$   r&   r!   rå   ræ   údata-controller="w-preview")r2   r.   r   r»   r   r4   r5   rv   )r+   rC   rB   rD   rD   rE   Útest_disable_preview_on_create*  s   þÿþz7TestDisablePreviewButton.test_disable_preview_on_createc                 C   s†   t ddgd}| jj|d | j td|jfd¡}|  |jd¡ td|jfd}|  	|d	¡ |  	|d
¡ |  	|d¡ |  	||¡ d S )Nústream page©r  Úhello©r   r[   r   rª   r$   r&   rŠ   rå   ræ   r  )
r   r»   r/   r2   r.   r   r   r4   r5   rv   )r+   Ústream_pagerC   rB   rD   rD   rE   Útest_disable_preview_on_edit=  s   ÿÿz5TestDisablePreviewButton.test_disable_preview_on_editc                 C   sŠ   t ddgd}| jj|d |jdd}| j td|jfd¡}td	|j|jfd}|  ||¡ |  	|j
¡}| d
d|i¡}|  |¡ d S )Nr  r  r  r   Tr  zwagtailadmin_pages:historyr$   r  r  rÕ   )r   r»   r/   r  r2   r.   r   r   rv   r®   r   rÛ   rÜ   )r+   r  r  rC   rB   rµ   r  rD   rD   rE   Ú&test_disable_preview_on_revisions_listO  s   ÿ
þz?TestDisablePreviewButton.test_disable_preview_on_revisions_listN)rG   rH   rI   rJ   rj   r  r  r  rD   rD   rD   rE   r    s    r  )"r’   Ú	functoolsr   Údjango.testr   r   Údjango.urlsr   Údjango.utilsr   Ú	freezegunr   Úwagtail.admin.staticfilesr	   Ú!wagtail.admin.views.pages.previewr
   Úwagtail.modelsr   r   Úwagtail.test.testapp.modelsr   r   r   r   r   Úwagtail.test.utilsr   Úwagtail.utils.deprecationr   r   rS   rT   r¹   r  rD   rD   rD   rE   Ú<module>   s,    3   $  $