o
    h                     @   s   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 d dlmZ d dlmZ G d	d
 d
eeZedejg dG dd deZdS )    )mock)TestCase)reverse)get_dummy_request)PageSite)
SimplePage)WagtailTestUtils)servec                   @   s2   e Zd ZdgZdd Zdd Zdd Zdd	 Zd
S )TestLoginView	test.jsonc                 C   s   |   | _tjjdd| _d S )Nz/home/events/)url_path)create_test_useruserr   objectsgetevents_index)self r   X/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/tests/test_views.pysetUp   s   
zTestLoginView.setUpc                 C   s:   | j td}| |jd | |d | |d d S )Nwagtailcore_login   <h1>Log in</h1>A<p>Your username and password didn't match. Please try again.</p>)clientr   r   assertEqualstatus_codeassertContainsassertNotContainsr   responser   r   r   test_get   s   zTestLoginView.test_getc                 C   sH   | j tddd| jjd}| |jd | |d | |d d S )Nr   test@email.comwrongpasswordusernamepasswordnextr   r   r   )r   postr   r   urlr   r   r   r    r   r   r   test_post_incorrect_password   s   z*TestLoginView.test_post_incorrect_passwordc                 C   s2   | j tddd| jjd}| || jj d S )Nr   r#   r'   r%   )r   r)   r   r   r*   assertRedirectsr    r   r   r   test_post_correct_password-   s   z(TestLoginView.test_post_correct_passwordN)__name__
__module____qualname__fixturesr   r"   r+   r-   r   r   r   r   r      s    	r   zwagtail.hooks.get_hooks)return_valuec                   @   s"   e Zd ZdgZdd Zdd ZdS )TestServeViewr   c              	   C   s   t  }t| t||j\}}}tjj|d|j	d/}| 
d t	|d W d    n1 s2w   Y  |j|g|R i | W d    d S 1 sNw   Y  d S )Nr
   wrapsr   /)r   r   find_for_requestr   route_for_requestpathr   patchobjectr
   assertNumQueriesassert_called_once_with)r   requestpageargskwargsmr   r   r   test_serve_query_count=   s   
"z$TestServeView.test_serve_query_countc              
   C   s^  d}t j }|jjtddddd}tjjt	dt	j
d}| jd	d
idg | | | jd}W d    n1 s=w   Y  | |jd | |jd d|_|   |  | | | jd}W d    n1 ssw   Y  | |jd | |jd W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )N   zSimple pagesimpleSimple)titleslugcontent)instancer8   r4   prependz;wagtail.test.middleware.SimplePageViewInterceptorMiddleware)
MIDDLEWAREz/simple/s   



<!DOCTYPE HTML>
<html lang="en" dir="ltr">
    <head>
        <title>Simple page</title>
    </head>
    <body>
        
        <h1>Simple page</h1>
        
    <h2>Simple page</h2>

    </body>
</html>
   zIntercept mes   Intercepted   )r   r   r   	root_page	add_childr   r   r:   r;   r   r8   modify_settingsr<   r   r   rI   
call_countsave_revisionpublish
reset_mock)r   expected_query_countsiter?   rB   
response_a
response_br   r   r   %test_process_view_by_page_query_countF   sB   
"z3TestServeView.test_process_view_by_page_query_countN)r.   r/   r0   r1   rC   rZ   r   r   r   r   r3   9   s    	r3   N)unittestr   django.testr   django.urlsr   wagtail.coreutilsr   wagtail.modelsr   r   wagtail.test.testapp.modelsr   wagtail.test.utilsr	   wagtail.viewsr
   r   r:   Mockr3   r   r   r   r   <module>   s    ,