U
    {h                     @   s^   d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ G dd deeZdS )	    N)settings)mail)TestCaseoverride_settings)reverse)WagtailTestUtilsc                   @   s   e Zd Zdg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
eddddd Zeddddd Zeejdkddd Zeejdkddd  ZdS )!TestUserPasswordResetz	test.jsonc                 C   s   ddl m} |  d S Nr   )clear_url_cachesdjango.urlsr
   selfr
    r   o/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/admin/tests/test_password_reset.pysetUp   s    zTestUserPasswordReset.setUpc                 C   s   ddl m} |  d S r	   r   r   r   r   r   tearDown   s    zTestUserPasswordReset.tearDownc                 C   s.   | j td}| |jd | |d d S NZwagtailadmin_login   zForgotten password?)clientgetr   assertEqualstatus_codeZassertContainsr   responser   r   r   $test_login_has_password_reset_option   s    z:TestUserPasswordReset.test_login_has_password_reset_optionF)ZWAGTAIL_PASSWORD_RESET_ENABLEDc                 C   s.   | j td}| |jd | |d d S r   )r   r   r   r   r   ZassertNotContainsr   r   r   r   5test_login_has_no_password_reset_option_when_disabled   s    zKTestUserPasswordReset.test_login_has_no_password_reset_option_when_disabledc                 C   s"   | j td}| |jd dS )z
        This tests that the password reset view responds with a 404
        when setting WAGTAIL_PASSWORD_RESET_ENABLED is False
        wagtailadmin_password_reseti  N)r   r   r   r   r   r   r   r   r   !test_password_reset_view_disabled%   s    z7TestUserPasswordReset.test_password_reset_view_disabledzwagtail.admin.urls)ROOT_URLCONFc                 C   sN   | j tdddi}| |jd | ttjd | dtjd j	 d S )Nr   emailsiteeditor@example.com.     Z
testserverr   
r   postr   r   r   lenr   outboxassertInbodyr   r   r   r   test_email_found_default_url1   s     z2TestUserPasswordReset.test_email_found_default_urlzhttp://mysite.com)r   ZWAGTAILADMIN_BASE_URLc                 C   sN   | j tdddi}| |jd | ttjd | dtjd j	 d S )Nr   r    r!   r"   r#   z
mysite.comr   r$   r   r   r   r   test_email_found_base_url:   s     z/TestUserPasswordReset.test_email_found_base_urlNc                 C   s:   | j tdddi}| |jd | ttjd d S )Nr   r    r!   r"   r#   )r   r%   r   r   r   r&   r   r'   r   r   r   r   test_email_without_base_urlE   s     z1TestUserPasswordReset.test_email_without_base_urlzcustomuser.CustomUserzonly applicable to CustomUserc                 C   s@   | j tdddi | ttjd | dtjd j d S )Nr   r    r!   r#   z4Your username (in case you've forgotten): siteeditorr   )	r   r%   r   r   r&   r   r'   r(   r)   r   r   r   r   +test_password_reset_email_contains_usernameM   s      
zATestUserPasswordReset.test_password_reset_email_contains_usernamezemailuser.EmailUserzonly applicable to EmailUserc                 C   s@   | j tdddi | ttjd | dtjd j d S )Nr   r    r!   r#   z(Your username (in case you've forgotten)r   )	r   r%   r   r   r&   r   r'   ZassertNotInr)   r-   r   r   r   6test_password_reset_no_username_when_email_is_usernameZ   s      
zLTestUserPasswordReset.test_password_reset_no_username_when_email_is_username)__name__
__module____qualname__Zfixturesr   r   r   r   r   r   r*   r+   r,   unittestZ
skipUnlessr   ZAUTH_USER_MODELr.   r/   r   r   r   r   r      s6   


 



	r   )r3   Zdjango.confr   Zdjango.corer   Zdjango.testr   r   r   r   Zwagtail.test.utilsr   r   r   r   r   r   <module>   s   