ó
    ^Éjî  ã                   ón   • S r SSKrSSKJs  Jr  SSKJrJ	r	  \4S jr
S rS rS rS rS	 rS
 rS rS rg)u[   CrÃ©ation de commande : le serveur est seul juge des prix, des fichiers et du consentement.é    N)Ú	DEMO_CODEÚNOCONSENT_CODEc           
      óH   • U SSSSSSSSS	./S
S.nUR                  U5        U$ )NzFamille Testztest@example.comúportrait.jpgzprint-10x15zTirage 10x15é   g      "@F©Úphoto_filenameÚ	format_idÚformat_labelÚquantityÚ
unit_priceÚis_magicg      2@)Úfamily_codeÚcustomer_nameÚcustomer_emailÚitemsÚtotal)Úupdate)ÚcodeÚoverÚbases      ÚTD:\Ingenieria\TRABAJOS ONLINE\Projects\11- Photo School\backend\tests\test_orders.pyÚ_payloadr      sC   € àØ'Ø,à,¸=ÐZhØ¨¸%ñ
ð ð ñ	€Dð 	‡K�K�ÔØ€Kó    c              ƒ   ó  ^#   • U R                  S[        5       S9I S h  v•N nUR                  nSoCU:H  oU(       dÛ  [        R                  " SU4SX445      S[
        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  n[        R                  " UR                  5      S-   S	U0-  n[        [        R                  " U5      5      eS =n=pTUR                  5       mTS
   nSoXUL o™(       do  [        R                  " SU	4SX…45      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=p•TS   nS oXUL o™(       do  [        R                  " SU	4SX…45      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=p•U R                  SU 35      I S h  v•N R                  5       S   n[        U4S jU 5       5      nUS   nSoXU:H  o™(       do  [        R                  " SU	4SX…45      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=p•US   n/ oXU:H  o™(       do  [        R                  " SU	4SX…45      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  n[        [        R                  " U5      5      eS =n=p•g  GNb GN97f)Nú/api/portal/orders©ÚjsonéÈ   ©ú==©z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sÚr©Úpy0Úpy2Úpy5z
>assert %(py7)sÚpy7ÚsuccessT)Úis)z%(py1)s is %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6Úclient_secretz/api/portal/orders?code=Úordersc              3   óB   >#   • U  H  oS    TS   :X  d  M  Uv •  M     g7f)ÚidÚorder_idN© )Ú.0ÚoÚbodys     €r   Ú	<genexpr>Ú7test_create_order_without_stripe_key.<locals>.<genexpr>   s!   øé € ÐAš6�a t¡W°°ZÑ0@Ñ%@—‘š6ùs   ƒ–	Úpayment_statusÚunpaid©z%(py1)s == %(py4)sÚ	downloads)Úpostr   Ústatus_codeÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚ_format_assertmsgÚtextÚAssertionErrorÚ_format_explanationr   ÚgetÚnext)ÚclientÚ	demo_coder#   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8Ú@py_assert0Ú@py_assert2Ú@py_format5Ú@py_format7r1   Úminer8   s                 @r   Ú$test_create_order_without_stripe_keyrY      s+  øé € Ø�k‰kÐ.´X³ZˆkÐ@×@€AØ�=‰=Ð'˜CÐ'˜CÑ×'×'×'Ò'ˆ=×'×'×'×'×'Õ'ˆ1×'×'×'Ñ'ˆ1×'×'Õ'ˆ=×'×'Ó'˜C×'×'×'Ð' §¡×'×'×'×'×'×'Ð'Ø�6‰6‹8€DØ�	‰?Ð"˜dÐ"˜dÐ"×"×"×"Ò"ˆ?×"×"Ô"ˆ?×"×"Ó"˜d×"×"×"×"×"×"Ó"Ø�Ñ Ð( DÐ( DÐ(×(×(×(Ò(Ð ×(×(Ô(Ð ×(×(Ó( D×(×(×(×(×(×(Ó(Ø—J‘JÐ!9¸)¸ÐEÓF×F×LÑLÓNÈxÑX€FÜÔA™6ÓAÓA€DØÐ Ñ!Ð- XÐ- XÑ-×-×-×-Ò-Ð!×-×-Ô-Ð!×-×-Ó- X×-×-×-×-×-×-Ó-Ø�ÑÐ" Ð" Ñ"×"×"×"Ò"Ð×"×"Ô"Ð×"×"Ó" ×"×"×"×"×"×"Ô"ò 	Aò
 Gùs#   ƒNŸN H+NÉNÉD6NÎNc              ƒ   óü  #   • U R                  S[        SS9S9I S h  v•N nUR                  nSo2U:H  oD(       dº  [        R                  " SU4SX#45      S[
        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S	.-  nS
SU0-  n[        [        R                  " U5      5      eS =n=pCg  NÜ7f)Nr   g     8�@©r   r   é�  r    r"   r#   r$   úassert %(py7)sr(   )r?   r   r@   rA   rB   rC   rD   rE   rF   rI   rJ   )rM   r#   rO   rP   rQ   rR   rS   s          r   Ú%test_order_rejects_inconsistent_totalr^       s•   é € Ø�k‰kÐ.´XÀEÑ5JˆkÐK×K€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Ôñ 	Lùs   ‚C<�C:žCC<c              ƒ   ó  #   • [        SS9nSUS   S   S'   U R                  SUS9I S	h  v•N nUR                  nS
oCU:H  oU(       dº  [        R                  " SU4SX445      S[
        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS	=n=pTg	 NÜ7f)z/Un client ne peut pas se fixer son propre prix.g{®Gáz”?r[   g{®Gáz„?r   r   r   r   r   Nr\   r    r"   r#   r$   r]   r(   )r   r?   r@   rA   rB   rC   rD   rE   rF   rI   rJ   )rM   Úpr#   rO   rP   rQ   rR   rS   s           r   Ú&test_order_rejects_tampered_unit_pricera   %   s«   é € ä�tÑ€AØ"&€A€g�Jˆq�M�,ÑØ�k‰kÐ.°QˆkÐ7×7€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Ôñ 	8ùs   ‚(D	ªD«CD	c              ƒ   óö  #   • [        5       nSUS   S   S'   U R                  SUS9I S h  v•N o"R                  nSoCU:H  oU(       d„  [        R                  " SU4S	X445      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=pT[        5       nSUS   S   S'   U R                  SUS9I S h  v•N o"R                  nSoCU:H  oU(       d„  [        R                  " SU4S	X445      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=pT[        5       nSUS   S   S'   U R                  SUS9I S h  v•N o"R                  nSoCU:H  oU(       d„  [        R                  " SU4S	X445      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=pTg  GNF GNz N­7f)Nzposter-gratuitr   r   r
   r   r   r\   r    ©z3%(py3)s
{%(py3)s = %(py1)s.status_code
} == %(py6)s©r,   Úpy3r/   úassert %(py8)sÚpy8z../../etc/passwdr	   zinexistante.jpg©r   r?   r@   rA   rB   rF   rI   rJ   ©rM   r`   rT   rU   Ú@py_assert5rP   rW   Ú@py_format9s           r   Ú3test_order_rejects_unknown_format_and_missing_photorl   -   s´  é € Ü‹
€AØ!1€A€g�Jˆq�M�+ÑØ—+‘+Ð2¸�+Ð;×;ÐO×HÑHÐOÈCÐOÈCÑO×O×O×OÒOÐH×O×OÔOÐ;×O×OÓOÐH×O×OÓOÈC×O×O×O×O×O×OÕOÜ‹
€AØ&8€A€g�Jˆq�MÐ"Ñ#Ø—+‘+Ð2¸�+Ð;×;ÐO×HÑHÐOÈCÐOÈCÑO×O×O×OÒOÐH×O×OÔOÐ;×O×OÓOÐH×O×OÓOÈC×O×O×O×O×O×OÕOÜ‹
€AØ&7€A€g�Jˆq�MÐ"Ñ#Ø—+‘+Ð2¸�+Ð;×;ÐO×HÑHÐOÈCÐOÈCÑO×O×O×OÒOÐH×O×OÔOÐ;×O×OÓOÐH×O×OÓOÈC×O×O×O×O×O×OÖOò <ò <ñ <ùs6   ‚)I9«I1¬CI9Ã:I4Ã;CI9Ç	I7Ç
B(I9É4I9É7I9c              ƒ   óP  #   • SSK Jn  U" 5        nUR                  S[        45        UR	                  5         S S S 5        [        [        S9nSUS   S   S'   U R                  SUS	9I S h  v•N oDR                  nS
oeU:H  ow(       d„  [        R                  " SU4SXV45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =n=n=pvg ! , (       d  f       Ná= f N¸7f)Nr   )Úget_dbz0UPDATE families SET consent_at=NULL WHERE code=?©r   zsolo.jpgr   r	   r   r   i“  r    rc   rd   rf   rg   )Úcore.dbrn   Úexecuter   Úcommitr   r?   r@   rA   rB   rF   rI   rJ   )
rM   rn   Úconnr`   rT   rU   rj   rP   rW   rk   s
             r   Útest_order_requires_consentrt   9   sÌ   é € ÝÙ	Œ�TØ�‰ÐGÌ.ÐIZÔ[Ø�‰Œ÷ 
ô 	”nÑ%€AØ&0€A€g�Jˆq�MÐ"Ñ#Ø—+‘+Ð2¸�+Ð;×;ÐO×HÑHÐOÈCÐOÈCÑO×O×O×OÒOÐH×O×OÔOÐ;×O×OÓOÐH×O×OÓOÈC×O×O×O×O×O×OÖO÷ 
�úñ
 <ùs(   ‚D&�(D¸3D&Á+D$Á,B'D&Ä
D!ÄD&c              ƒ   ó’  #   • U R                  S[        SS9S9I S h  v•N oR                  nSo2U:H  oD(       d„  [        R                  " SU4SX#45      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =n=n=pCg  N§7f)Nr   zZZZ-0000ro   r   i”  r    rc   rd   rf   rg   )r?   r   r@   rA   rB   rF   rI   rJ   )rM   rT   rU   rj   rP   rW   rk   s          r   Ú!test_order_rejects_unknown_familyrv   C   s�   é € Ø—+‘+Ð2¼ÀzÑ9R�+ÐS×SÐg×`Ñ`ÐgÐdgÐgÐdgÑg×g×g×gÒgÐ`×g×gÔgÐS×g×gÓgÐ`×g×gÓgÐdg×g×g×g×g×g×gÖgÑSùs   ‚C�CžB(Cc              ƒ   ó°  #   • [        SS9nSSSSSSS./US	'   U R                  S
US9I Sh  v•N o"R                  nSoCU:H  oU(       d„  [        R                  " SU4SX445      [        R
                  " U5      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS=n=n=pTg N§7f)uR   Un format Â« magique Â» sur une photo normale (gÃ©nÃ©ration simulÃ©e) est refusÃ©.g      ,@r[   r   zmagic-printÚMagiqueé   Tr   r   r   r   Nr\   r    rc   rd   rf   rg   rh   ri   s           r   Ú,test_magic_format_requires_a_generated_photorz   G   s¤   é € ä�tÑ€AØ%3À-ÐajØ °À$ñHð I€A€g�Jà—+‘+Ð2¸�+Ð;×;ÐO×HÑHÐOÈCÐOÈCÑO×O×O×OÒOÐH×O×OÔOÐ;×O×OÓOÐH×O×OÓOÈC×O×O×O×O×O×OÖOÑ;ùs   ‚*C¬C­B(Cc              ƒ   ó  #   • U R                  SSSS00US9I S h  v•N nUR                  nSoCU:H  oU(       dº  [        R                  " SU4SX445      S	[        R
                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS	[        R                  " U5      [        R                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pT U R                  S[        5       S9I S h  v•N oˆR                  n	So©U
:H  oD(       d„  [        R                  " SU4SXš45      [        R                  " U5      [        R                  " U	5      [        R                  " U
5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n	=pJ[        SS9nSUS   S   S'   U R                  SUS9I S h  v•N oˆR                  n	So©U
:H  oD(       d„  [        R                  " SU4SXš45      [        R                  " U5      [        R                  " U	5      [        R                  " U
5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n	=pJU R                  S[         35      I S h  v•N R                  5       S   S   nSoXU:H  o™(       do  [        R                  " SU	4SX…45      [        R                  " U5      [        R                  " U5      S.-  nSS U0-  n[        [        R                  " U5      5      eS =n=p•U R                  SSSS!00US9I S h  v•N   g  GN? GNJ GN N¿ N! U R                  SSSS!00US9I S h  v•N    f = f7f)"Nz/api/admin/settingsÚsettingsÚprice_print_10x15é   )r   Úheadersr   r    r"   r#   r$   r]   r(   r   r   r\   rc   rd   rf   rg   g      6@r[   g      &@r   r   r   z/api/portal/photos?code=ÚpricingÚprint_10x15r=   r+   r.   r/   é	   )Úputr@   rA   rB   rC   rD   rE   rF   rI   rJ   r?   r   rK   r   r   )rM   Úadmin_headersr#   rO   rP   rQ   rR   rS   rT   rU   rj   rW   rk   r`   rV   s                  r   Ú&test_order_uses_school_specific_pricesr…   O   s€  é € Ø�j‰jÐ.°jÐCVÐXZÐB[Ð5\ÐfsˆjÐt×t€AØ�=‰=Ð˜CÐ˜CÑ×××Òˆ=×××××Õˆ1×××Ñˆ1××Õˆ=××Ó˜C××××××Óðtà—k‘kÐ"6¼X»Z�kÐH×HÐ\×UÑUÐ\ÐY\Ð\ÐY\Ñ\×\×\×\Ò\ÐU×\×\Ô\ÐH×\×\Ó\ÐU×\×\Ó\ÐY\×\×\×\×\×\×\Õ\Ü˜4Ñ ˆØ&*ˆˆ'‰
�1‰�lÑ#Ø—k‘kÐ"6¸Q�kÐ?×?ÐS×LÑLÐSÐPSÐSÐPSÑS×S×S×SÒSÐL×S×SÔSÐ?×S×SÓSÐL×S×SÓSÐPS×S×S×S×S×S×SÕSØ—j‘jÐ#;¼I¸;Ð!GÓH×H×NÑNÓPÐQZÑ[Ð\iÑjÐpÐnpÐpÐnpÑp×p×p×pÒpÐj×p×pÔpÐj×p×pÓpÐnp×p×p×p×p×p×pÓpà�j‰jÐ.°jÐCVÐXYÐBZÐ5[ÐerˆjÐs×sÑsò 	uò Iò @ÙHásøˆf�j‰jÐ.°jÐCVÐXYÐBZÐ5[ÐerˆjÐs×sÒsüs   ‚N
›MœCN
Ã8M' ÄMÄCM' Ç!M Ç"CM' Ê#M#Ê$BM' Ì<N
ÍM%ÍN
ÍM' Í M' Í#M' Í%N
Í'NÎ NÎNÎN
)Ú__doc__ÚbuiltinsrC   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterA   Úconftestr   r   r   rY   r^   ra   rl   rt   rv   rz   r…   r5   r   r   Ú<module>rŒ      sG   ðÙ aß  „ × .ð ô ò	#ò ò
 ò	PòPòhòPótr   