o
    òáºc  ã                   @   s  d dl Zd dlm  mZ d dlmZ d dlm	Z	 d dl
mZmZ d dlZd dlmZ d dlZd dlmZ d dlmZ d dlT d d	lmZ ejjd
ededdfdd„ƒZejjddejjdd„ ƒƒZejjdeddfdd„ƒZejjdeddfdd„ƒZ ejjdd„ ƒZ!dS )é    N)Úfirst)Úreverse)ÚrenderÚredirect)ÚUser)Úmail)Úcolored)Ú*)ÚFakerÚclientÚuser_signup_dataÚreturnc                 C   sN  t j}|j}|ƒ }|j}|ƒ }d}||k}	|	s[t d|	fd||f¡dt ¡ v s,t t ¡r1t 	t ¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|¡t 	|¡dœ }
dd|
i }t
t |¡ƒ‚d  } } } } } }	}| j}d}t|ƒ}||ƒ}|j}d	}||k}|sÖt d|fd
||f¡dt ¡ v s–t | ¡r›t 	| ¡ndt 	|¡dt ¡ v s«t t¡r°t 	t¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|¡dœ }dd|i }t
t |¡ƒ‚d  } } } } } }}tj}|j}|ƒ }d}||k}|s4t d|fd||f¡dt ¡ v st t¡rt 	t¡ndt 	|¡t 	|¡t 	|¡t 	|¡dœ }dd|i }t
t |¡ƒ‚d  } } } }}| jtdƒ|d}t |j¡}|d }d}||k}|s}t d|fd||f¡t 	|¡t 	|¡dœ }dd|i }t
t |¡ƒ‚d  } }}|d }d}||k}|s³t d|fd||f¡t 	|¡t 	|¡dœ }dd|i }t
t |¡ƒ‚d  } }}t j}|j}|ƒ }|j}|ƒ }d}||k}	|	st d|	fd||f¡dt ¡ v sèt t ¡rít 	t ¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|¡t 	|¡dœ }
dd|
i }t
t |¡ƒ‚d  } } } } } }	}d S )Nr   ©ú==©z”%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.objects
}.all
}()
}.count
}()
} == %(py13)sÚPayment©Úpy0Úpy2Úpy4Úpy6Úpy8Úpy10Úpy13úassert %(py15)sÚpy15úaccounts:signupéÈ   )z‹%(py11)s
{%(py11)s = %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py7)s
{%(py7)s = %(py3)s(%(py5)s)
})
}.status_code
} == %(py14)sr   r   )r   r   Úpy3Úpy5Úpy7Úpy9Úpy11Úpy14zassert %(py16)sZpy16©za%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.objects
}.count
}()
} == %(py9)sr   ©r   r   r   r   r!   úassert %(py11)sr"   ©ÚpathÚdataÚresultzFound Success©z%(py1)s == %(py4)s©Úpy1r   úassert %(py6)sr   ÚmessagezMembership ID Found Success)r   ÚobjectsÚallÚcountÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚgetr   Ústatus_coder   ÚpostÚjsonÚloadsÚcontent)r   r   Ú
mailoutboxÚ@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_assert7Ú@py_assert9Ú@py_assert12Ú@py_assert11Ú@py_format14Ú@py_format16Ú@py_assert4Ú@py_assert6Ú@py_assert8Z@py_assert10Ú@py_assert13Z@py_format15Z@py_format17Ú@py_format10Ú@py_format12ÚurlÚresponseÚ@py_assert0Ú@py_assert2Ú@py_format5Ú@py_format7© rW   úD/var/www/html/docker_usevoice/src/apps/accounts/tests/test_signup.pyÚtest_find_correct_memership   s0   Òö´lýýýýýýýýÜrY   zDatabase Integraty error)Úreasonc              
   C   s  t j}|j}|ƒ }|j}|ƒ }d}||k}	|	s[t d|	fd||f¡dt ¡ v s,t t ¡r1t 	t ¡ndt 	|¡t 	|¡t 	|¡t 	|¡t 	|¡t 	|¡dœ }
dd|
i }t
t |¡ƒ‚d  } } } } } }	}| tdƒ¡}tt|jd	ƒƒ t |j¡}tt|jd	ƒƒ d S )
Nr   r   r   r   r   r   r   r   Úyellow)r   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r=   r   Úprintr   r<   r>   r?   r@   )Údbr   Úuser_signup_data_with_order_idrB   rC   rD   rE   rF   rG   rH   rI   rJ   ÚrequestrR   rW   rW   rX   Útest_signup_create_payment   s
   Òr`   Úuser_signup_data_already_signupc                 C   s~  t jj|d |d |d |d dj t j}|j}|ƒ }d}||k}|s`t d|fd||f¡d	t ¡ v s9t 	t ¡r>t 
t ¡nd	t 
|¡t 
|¡t 
|¡t 
|¡d
œ }dd|i }tt |¡ƒ‚d  } } } }}| jtdƒ|d}	t |	j¡}
|
d }d}||k}|s¨t d|fd||f¡t 
|¡t 
|¡dœ }dd|i }tt |¡ƒ‚d  } }}|
d }d}||k}|sÝt d|fd||f¡t 
|¡t 
|¡dœ }dd|i }tt |¡ƒ‚d  } }}t j}|j}|ƒ }d}||k}|s3t d|fd||f¡d	t ¡ v st 	t ¡rt 
t ¡nd	t 
|¡t 
|¡t 
|¡t 
|¡d
œ }dd|i }tt |¡ƒ‚d  } } } }}d S )NÚ
first_nameÚ	last_nameÚemailÚpassword)rb   rc   rd   re   é   r   r$   r   r%   r&   r"   r   r'   r*   Úerrorr+   r,   r.   r   r/   z8Email already used. Kindly Try Again With Another Email.)r   r0   ÚcreateÚsaver2   r3   r4   r5   r6   r7   r8   r9   r:   r=   r   r>   r?   r@   )r   ra   rB   rC   rD   rM   rE   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rW   rX   Útest_user_already_signup(   s   ü®jj¸rj   c                 C   s  |d }|d }|d }| j tdƒ|||dœd}t |j¡}|d }d}||k}	|	sNt d	|	fd
||f¡t |¡t |¡dœ }
dd|
i }tt 	|¡ƒ‚d  } }	}|d }d}||k}	|	sƒt d	|	fd
||f¡t |¡t |¡dœ }
dd|
i }tt 	|¡ƒ‚d  } }	}d S )NÚusernamere   rd   úaccounts:signin©rd   rk   re   r'   r*   rg   r   r+   r,   r.   r   r/   ú:Email does not exist. Kindly Try Again With A Valid Email.)
r=   r   r>   r?   r@   r3   r4   r8   r9   r:   )r   r   rk   re   rd   rQ   rR   rS   rC   rT   rU   rV   rW   rW   rX   Útest_sign_in_without_signup;   s4   
þjýýýýýýýýro   c                 C   sÄ  |d }|d }|d }| j tdƒ|||dœd}t |j¡}tj}|j}|ƒ }	d}
|	|
k}|slt 	d|fd	|	|
f¡d
t
 ¡ v sEt t¡rJt t¡nd
t |¡t |¡t |	¡t |
¡dœ }dd|i }tt |¡ƒ‚d  } } }	 }}
|d }d}||k}|s¥t 	d|fd||f¡t |¡t |¡dœ }dd|i }tt |¡ƒ‚d  } }}|d }d}||k}|sÚt 	d|fd||f¡t |¡t |¡dœ }dd|i }tt |¡ƒ‚d  } }}d S )Nrk   re   rd   rl   rm   r'   r   r   r$   r   r%   r&   r"   r*   rg   r+   r,   r.   r   r/   rn   )r=   r   r>   r?   r@   r   r0   r2   r3   r4   r5   r6   r7   r8   r9   r:   )r   Úuser_signin_datark   re   rd   rQ   rR   rB   rC   rD   rM   rE   rO   rP   rS   rT   rU   rV   rW   rW   rX   Útest_signin_with_signupN   s   
þ®jnrq   )"Úbuiltinsr5   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter3   Údjango.template.defaultfiltersr   Údjango.urlsr   Údjango.shortcutsr   r   ÚpytestZapps.accounts.modelsr   r>   Údjango.corer   Ú	termcolorr   Zapps.subscriptions.modelsÚfakerr
   ÚmarkÚ	django_dbÚobjectÚdictrY   Úskipr`   rj   ro   rq   rW   rW   rW   rX   Ú<module>   s6   & ÿÿþ	