U
    {h                     @   s   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 d dlmZ d d	lmZ G d
d deeZG dd deZG dd deZdS )    )patch)TestCaseoverride_settings)reverse_lazy)EmbedNotFoundException)Embed)MediaEmbedHandler)expand_db_html)FeatureRegistry)WagtailTestUtilsc                   @   s4   e Zd Zdd Zeddd Zeddd ZdS )	TestEditorHtmlMediaEmbedHandlerc                 C   s.   |  d}|j}t|}| |ddi d S )Nz<b data-url="test-url">foo</b>urlztest-url)Zget_soupbEditorHtmlMediaEmbedHandlerZget_db_attributesassertEqual)selfZsouptagresult r   k/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/embeds/tests/test_rich_text.pytest_get_db_attributes   s    

z6TestEditorHtmlMediaEmbedHandler.test_get_db_attributeswagtail.embeds.embeds.get_embedc                 C   sx   t dd ddddddddd	
|_td
di}| d| | d| | d| | d| | d| | d| d S )Nhttp://www.youtube.com/watch/video	test html
test titletest author nametest provider namehttp://test/thumbnail.url  
r   	max_widthtypehtmltitleZauthor_nameZprovider_nameZthumbnail_urlwidthheightr   zw<div class="embed-placeholder" contenteditable="false" data-embedtype="media" data-url="http://www.youtube.com/watch/">z<h3>test title</h3>z)<p>URL: http://www.youtube.com/watch/</p>z#<p>Provider: test provider name</p>z<p>Author: test author name</p>z6<img src="http://test/thumbnail.url" alt="test title">)r   return_valuer   expand_db_attributesassertInr   Z	get_embedr   r   r   r   $test_expand_db_attributes_for_editor   s4     zDTestEditorHtmlMediaEmbedHandler.test_expand_db_attributes_for_editorc                 C   s$   t |_tddi}| |d d S Nr   r    )r   side_effectr   r(   r   r*   r   r   r   <test_expand_db_attributes_for_editor_catches_embed_not_found9   s     z\TestEditorHtmlMediaEmbedHandler.test_expand_db_attributes_for_editor_catches_embed_not_foundN)__name__
__module____qualname__r   r   r+   r/   r   r   r   r   r      s
   
 r   c                   @   sV   e Zd Zeddeddd Zeddd Zeddd	 Zedd
d ZdS )TestFrontendMediaEmbedHandlerT)ZWAGTAILEMBEDS_RESPONSIVE_HTMLr   c                 C   sH   t dd ddddddddd	
|_td
di}| d| | d| d S Nr   r   r   r   r   r   r   r   r    r   zclass="responsive-object")r   r'   FrontendMediaEmbedHandlerr(   r)   r*   r   r   r   1test_expand_db_attributes_for_frontend_responsiveE   s&     zOTestFrontendMediaEmbedHandler.test_expand_db_attributes_for_frontend_responsivec                 C   sH   t dd ddddddddd	
|_td
di}| d| | d| d S r4   )r   r'   r5   r(   r)   ZassertNotInr*   r   r   r   4test_expand_db_attributes_for_frontend_nonresponsive]   s&     zRTestFrontendMediaEmbedHandler.test_expand_db_attributes_for_frontend_nonresponsivec                 C   s$   t |_tddi}| |d d S r,   )r   r.   r5   r(   r   r*   r   r   r   >test_expand_db_attributes_for_frontend_catches_embed_not_foundt   s     z\TestFrontendMediaEmbedHandler.test_expand_db_attributes_for_frontend_catches_embed_not_foundc                 C   sD   t dd ddddddddd	
|_td
}| d| |dd d  d S )Nr   r   r   r   r   r   r   r   r    ze<p>1 2 <embed embedtype="media" url="https://www.youtube.com/watch?v=O7D-1RG-VRk&amp;t=25" /> 3 4</p>z0https://www.youtube.com/watch?v=O7D-1RG-VRk&t=25)r   r'   r	   r)   Zassert_called_withr*   r   r   r   $test_expand_html_escaping_end_to_end~   s*      zBTestFrontendMediaEmbedHandler.test_expand_html_escaping_end_to_endN)	r0   r1   r2   r   r   r6   r7   r8   r9   r   r   r   r   r3   D   s   

	r3   c                   @   s   e Zd Zdd ZdS )TestEntityFeatureChooserUrlsc                 C   sB   t  }|dd}| |jd | |jd d td d S )NZdraftailembedZchooserUrlsZembedsChooserzwagtailembeds:chooser)r
   Zget_editor_pluginZassertIsNotNonedatagetr   r   )r   featuresr;   r   r   r   test_chooser_urls_exist   s    z4TestEntityFeatureChooserUrls.test_chooser_urls_existN)r0   r1   r2   r?   r   r   r   r   r:      s   r:   N)Zunittest.mockr   Zdjango.testr   r   Zdjango.urlsr   Zwagtail.embeds.exceptionsr   Zwagtail.embeds.modelsr   Zwagtail.embeds.rich_textr   r5   Z$wagtail.embeds.rich_text.editor_htmlr   Zwagtail.rich_textr	   Z"wagtail.rich_text.feature_registryr
   Zwagtail.test.utilsr   r   r3   r:   r   r   r   r   <module>   s   3R