Ë
    „9j}&  ã                  óè   — d Z ddlmZ ddlZddlmc 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mZmZ ddlmZ dd	lmZmZmZmZ ddd
„Zdd„Zdd„Zdd„Zdd„Z G d„ d«      Z G d„ d«      Z y)z;Tests for reply proposal generation and writer integration.é    )ÚannotationsN)Údatetime©ÚSettings)ÚDgredClient)Ú	TEMPLATESÚgenerate_reply_proposal)Ú
LeadWriter)ÚMatchResultÚOfferÚ	PartQueryÚPostc                ól   — t        | d|d|j                  dd«      › �dt        dddd	d
«      d| › �¬«      S )Nu   TIR czÄ™Å›cizhttps://facebook.com/ú Ú ú/Szukam pompy wody do Volvo FH13, numer 20744939ié  é   é   é
   é   z&https://facebook.com/groups/tir/posts/)Úpost_idÚgroupÚauthor_nameÚauthor_profile_urlÚtextÚ	timestampÚpost_url)r   Úreplacer   )ÚpidÚauthors     ú</var/www/html/agent.samochodowy/tests/test_reply_proposal.pyÚ_postr"      sK   € ÜØØØØ2°6·>±>À#ÀrÓ3JÐ2KÐLØ>Ü˜4  B¨¨BÓ/Ø9¸#¸Ð?ôð ó    c            	     ó`   — t        ddddddgd¬«      }|j                  | «       t        d	i |¤ŽS )
NTr   ÚVOLVOÚFH13ú
pompa wodyÚ20744939u$   Zapytanie o pompÄ™ wody z numerem OE)Úis_part_requestÚraw_textÚbrandÚmodelÚcategoryÚ
oe_numbersÚreason© )ÚdictÚupdater   ©Ú	overridesÚdefaultss     r!   Ú_queryr6   $   s?   € ÜØØBØØØØ�<Ø5ô€Hð ‡O�O�IÔÜÑ �xÑ Ð r#   c            	     ó`   — t        dddddddg¬«      }|j                  | «       t        d	i |¤ŽS )
NÚ1Úallegroúhttps://allegro.pl/1zPompa wody VOLVO FH13 20744939g      |@ÚPLNr(   )Úoffer_idÚplatformÚurlÚtitleÚpriceÚcurrencyr.   r0   )r1   r2   r   r3   s     r!   Ú_offerrB   2   s?   € ÜØØØ"Ø.ØØØ�<ô€Hð ‡O�O�IÔÜÑ�8ÑÐr#   c                 ój   — t        ddt        «       gd¬«      }|j                  | «       t        di |¤ŽS )Nçffffffî?ÚoeT©Ú
confidenceÚmethodÚoffersÚmatchedr0   )r1   rB   r2   r   r3   s     r!   Ú_matched_resultrK   @   s8   € ÜØØÜ“ˆzØô	€Hð ‡O�O�IÔÜÑ"˜Ñ"Ð"r#   c                 ó   — t        dd¬«      S )NÚtestT)Údgred_api_keyÚdry_runr   r0   r#   r!   Ú	_settingsrP   K   s   € Ü &°$Ô7Ð7r#   c                  óf   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestGenerateReplyProposalc                óz  — t        t        «       t        «       t        «       d¬«      }d}||v }|s™t	        j
                  d|fd||f«      t	        j                  |«      dt        j                  «       v st	        j                  |«      rt	        j                  |«      nddœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}}d
}||v }|s™t	        j
                  d|fd||f«      t	        j                  |«      dt        j                  «       v st	        j                  |«      rt	        j                  |«      nddœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}}d}||v }|s™t	        j
                  d|fd||f«      t	        j                  |«      dt        j                  «       v st	        j                  |«      rt	        j                  |«      nddœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}}d}||v }|s™t	        j
                  d|fd||f«      t	        j                  |«      dt        j                  «       v st	        j                  |«      rt	        j                  |«      nddœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}}y )Nr   ©Útemplate_indexÚ
reply_text©Úin©z%(py1)s in %(py3)sÚproposal©Úpy1Úpy3úassert %(py5)sÚpy5Ú	offer_urlÚauthor_profileÚtemplate_id)r	   r"   r6   rK   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚAssertionErrorÚ_format_explanation)ÚselfrZ   Ú@py_assert0Ú@py_assert2Ú@py_format4Ú@py_format6s         r!   Útest_basic_fieldsz+TestGenerateReplyProposal.test_basic_fieldsT   s…  € Ü*Ü‹G”V“XœÓ0Àô
ˆð Ð'ˆ|˜xÐ'×'×'Õ'ˆ|˜x×'×'Ó'ˆ|×'×'×'×'×'Ð'˜x×'×'Ó'˜x×'×'×'×'×'×'Ó'ØÐ&ˆ{˜hÐ&×&×&Õ&ˆ{˜h×&×&Ó&ˆ{×&×&×&×&×&Ð&˜h×&×&Ó&˜h×&×&×&×&×&×&Ó&ØÐ+Ð 8Ð+×+×+Õ+Ð 8×+×+Ó+Ð×+×+×+×+×+Ð+ 8×+×+Ó+ 8×+×+×+×+×+×+Ó+ØÐ(ˆ} Ð(×(×(Õ(ˆ} ×(×(Ó(ˆ}×(×(×(×(×(Ð( ×(×(Ó( ×(×(×(×(×(×(Ô(r#   c                óP  — t        t        «       t        «       t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}y )
Nr   rT   r'   rV   rW   ©z%(py1)s in %(py4)s©r\   Úpy4úassert %(py6)sÚpy6©	r	   r"   r6   rK   rc   rd   re   ri   rj   ©rk   rZ   rl   Ú@py_assert3rm   Ú@py_format5Ú@py_format7s          r!   Útest_contains_part_namez1TestGenerateReplyProposal.test_contains_part_name]   sp   € Ü*Ü‹G”V“XœÓ0Àô
ˆð Ð5˜x¨Ñ5Ð5ˆ|Ð5Ð5×5×5Õ5ˆ|Ð5×5×5Ó5ˆ|×5×5Ò5Ð5×5×5×5×5×5×5Ô5r#   c                óN  — t        t        «       t        «       t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}d
}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}y )Nr   rT   r%   rV   rW   rr   rs   ru   rv   r&   rw   rx   s          r!   Útest_contains_vehiclez/TestGenerateReplyProposal.test_contains_vehiclec   sÂ   € Ü*Ü‹G”V“XœÓ0Àô
ˆð Ð0˜( <Ñ0Ð0ˆwÐ0Ð0×0×0Õ0ˆwÐ0×0×0Ó0ˆw×0×0Ò0Ð0×0×0×0×0×0×0Ó0ØÐ/˜ ,Ñ/Ð/ˆvÐ/Ð/×/×/Õ/ˆvÐ/×/×/Ó/ˆv×/×/Ò/Ð/×/×/×/×/×/×/Ô/r#   c                óP  — t        t        «       t        «       t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}|d
   }d}||k(  }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}y )Nr   rT   r:   rV   rW   rr   rs   ru   rv   r`   ©ú==©z%(py1)s == %(py4)srw   rx   s          r!   Útest_contains_offer_urlz1TestGenerateReplyProposal.test_contains_offer_urlj   sÉ   € Ü*Ü‹G”V“XœÓ0Àô
ˆð &Ð?¨°,Ñ)?Ð?Ð%Ð)?Ð?×?×?Õ?Ð%Ð)?×?×?Ó?Ð%×?×?Ò?Ð)?×?×?×?×?×?×?Ó?Ø˜Ñ$Ð>Ð(>Ð>Ð$Ð(>Ñ>×>×>Õ>Ð$Ð(>×>×>Ó>Ð$×>×>Ò>Ð(>×>×>×>×>×>×>Ô>r#   c                óP  — t        t        «       t        «       t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}y )
Nr   rT   z450 PLNrV   rW   rr   rs   ru   rv   rw   rx   s          r!   Útest_contains_pricez-TestGenerateReplyProposal.test_contains_priceq   sp   € Ü*Ü‹G”V“XœÓ0Àô
ˆð Ð2˜H \Ñ2Ð2ˆyÐ2Ð2×2×2Õ2ˆyÐ2×2×2Ó2ˆy×2×2Ò2Ð2×2×2×2×2×2×2Ô2r#   c                óR  — t        t        «       t        «       t        «       d¬«      }|d   }d}||k(  }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }dd	|iz  }t        t	        j                  |«      «      ‚d x}x}}y )
Nr   rT   ra   z https://facebook.com/JanKowalskir€   r‚   rs   ru   rv   rw   rx   s          r!   Útest_author_profilez-TestGenerateReplyProposal.test_author_profilew   su   € Ü*Ü‹G”V“XœÓ0Àô
ˆð Ð(Ñ)ÐOÐ-OÐOÐ)Ð-OÑO×O×OÕOÐ)Ð-O×O×OÓOÐ)×O×OÒOÐ-O×O×O×O×O×O×OÔOr#   c                ó¶  — t        t        t        «      «      D �]½  }t        t	        «       t        «       t        «       |¬«      }|d   }||k(  }|s™t        j                  d|fd||f«      t        j                  |«      dt        j                  «       v st        j                  |«      rt        j                  |«      nddœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}}|d
   }t        |«      }d}	||	kD  }
|
sÉt        j                  d|
fd||	f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      ndt        j                  |«      t        j                  |«      t        j                  |	«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}x}x}
}	�ŒÀ y	)z1Every template variant must render without error.rT   rb   r€   )z%(py1)s == %(py3)sÚir[   r^   r_   NrV   é   ©ú>)z/%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} > %(py7)sÚlen)Úpy0Úpy2rt   Úpy7zassert %(py9)sÚpy9)Úranger�   r   r	   r"   r6   rK   rc   rd   re   rf   rg   rh   ri   rj   )rk   r‰   rZ   rl   rm   rn   ro   Ú@py_assert1ry   Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10s                r!   Útest_all_templates_renderz3TestGenerateReplyProposal.test_all_templates_render}   s  € ä”sœ9“~Ó&ó 	4ˆAÜ.Ü“œ›¤?Ó#4ÀQôˆHð ˜MÑ*Ð/Ð*¨aÑ/×/×/Õ/Ð*¨a×/×/Ó/Ð*×/×/×/×/×/Ð/¨a×/×/Ó/¨a×/×/×/×/×/×/Ó/Ø Ñ-Ð3”3Ð-Ó.Ð3°Ð3Ð.°Ñ3×3×3Õ3Ð.°×3×3×3×3×3Ñ3”3×3×3Ó3”3×3×3Ô3Ð-×3×3Ò3Ð.×3×3Ò3°×3×3×3×3×3×3×3ñ	4r#   c                ór  — t        t        «       t        «       t        «       t	        t
        «      dz   ¬«      }|d   }d}||k(  }|slt        j                  d|fd||f«      t        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}y )	Né   rT   rb   r€   r‚   rs   ru   rv   )r	   r"   r6   rK   r�   r   rc   rd   re   ri   rj   rx   s          r!   Útest_template_index_wrapsz3TestGenerateReplyProposal.test_template_index_wraps†   sz   € Ü*Ü‹G”V“XœÓ0Üœy›>¨AÑ-ô
ˆð ˜Ñ&Ð+¨!Ð+Ð&¨!Ñ+×+×+Õ+Ð&¨!×+×+Ó+Ð&×+×+Ò+¨!×+×+×+×+×+×+Ô+r#   c                óÊ  — t        «       }t        d«      D ];  }t        t        «       t	        «       t        «       «      }|j                  |d   «       Œ= t        |«      }d}||kD  }|söt        j                  d|fd||f«      dt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      dœz  }d	d
|iz  }t        t        j                  |«      «      ‚dx}x}}y)z:Without explicit template_index, a random one is selected.éd   rb   r   r‹   )z/%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} > %(py6)sr�   Úindices©rŽ   r\   r]   rv   úassert %(py8)sÚpy8N)Úsetr’   r	   r"   r6   rK   Úaddr�   rc   rd   rf   rg   rh   re   ri   rj   )	rk   rž   Ú_rZ   rm   r•   Ú@py_assert4r{   Ú@py_format9s	            r!   Útest_random_template_when_nonez8TestGenerateReplyProposal.test_random_template_when_none�   sÕ   € ä“%ˆÜ�s“ò 	1ˆAÜ.Ü“œ›¤?Ó#4óˆHð �K‰K˜ Ñ/Õ0ð		1ô
 �7‹|Ð˜aÐˆ|˜aÑ××Õˆ|˜a×××××ÑŒs××ÓŒs×××××Ò�7××Ó�7××Ôˆ|××Ò˜a××××××Ôr#   c                ór  — t        d ¬«      }t        |g¬«      }t        t        «       t	        «       |d¬«      }d}|d   }||v }|slt        j                  d|fd||f«      t        j                  |«      t        j                  |«      d	œz  }d
d|iz  }t        t        j                  |«      «      ‚d x}x}}y )N©r@   ©rI   r   rT   zdo uzgodnieniarV   rW   rr   rs   ru   rv   ©
rB   rK   r	   r"   r6   rc   rd   re   ri   rj   ©	rk   ÚofferÚresultrZ   rl   ry   rm   rz   r{   s	            r!   Útest_missing_pricez,TestGenerateReplyProposal.test_missing_price—   s†   € Ü˜TÔ"ˆÜ ¨¨Ô0ˆÜ*Ü‹G”V“X˜v°aô
ˆð  Ð9 8¨LÑ#9Ð9ÐÐ#9Ð9×9×9Õ9ÐÐ#9×9×9Ó9Ð×9×9Ò9Ð#9×9×9×9×9×9×9Ô9r#   c                ór  — t        d¬«      }t        |g¬«      }t        t        «       t	        «       |d¬«      }d}|d   }||v }|slt        j                  d|fd	||f«      t        j                  |«      t        j                  |«      d
œz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}}y )NgHáz®ÿh@r©   rª   r   rT   z
199.99 PLNrV   rW   rr   rs   ru   rv   r«   r¬   s	            r!   Útest_decimal_pricez,TestGenerateReplyProposal.test_decimal_priceŸ   sƒ   € Ü˜VÔ$ˆÜ ¨¨Ô0ˆÜ*Ü‹G”V“X˜v°aô
ˆð Ð5˜x¨Ñ5Ð5ˆ|Ð5Ð5×5×5Õ5ˆ|Ð5×5×5Ó5ˆ|×5×5Ò5Ð5×5×5×5×5×5×5Ô5r#   c                óX  — t        d ¬«      }t        t        «       |t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }d	d
|iz  }t        t	        j                  |«      «      ‚d x}x}}y )N)r-   r   rT   zPompa wody VOLVO FH13rV   rW   rr   rs   ru   rv   ©	r6   r	   r"   rK   rc   rd   re   ri   rj   ©rk   ÚqueryrZ   rl   ry   rm   rz   r{   s           r!   Ú&test_missing_category_uses_offer_titlez@TestGenerateReplyProposal.test_missing_category_uses_offer_title§   s{   € Ü Ô%ˆÜ*Ü‹G�UœOÓ-¸aô
ˆð 'Ð@¨(°<Ñ*@Ð@Ð&Ð*@Ð@×@×@Õ@Ð&Ð*@×@×@Ó@Ð&×@×@Ò@Ð*@×@×@×@×@×@×@Ô@r#   c                óZ  — t        d d ¬«      }t        t        «       |t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }d	d
|iz  }t        t	        j                  |«      «      ‚d x}x}}y )N)r+   r,   r   rT   zTwojego pojazdurV   rW   rr   rs   ru   rv   r³   r´   s           r!   Útest_missing_brand_modelz2TestGenerateReplyProposal.test_missing_brand_model¯   s}   € Ü˜T¨Ô.ˆÜ*Ü‹G�UœOÓ-¸aô
ˆð !Ð: H¨\Ñ$:Ð:Ð Ð$:Ð:×:×:Õ:Ð Ð$:×:×:Ó:Ð ×:×:Ò:Ð$:×:×:×:×:×:×:Ô:r#   c                óX  — t        d¬«      }t        t        «       |t        «       d¬«      }d}|d   }||v }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }d	d
|iz  }t        t	        j                  |«      «      ‚d x}x}}y )NÚ2018)Úyearr   rT   rV   rW   rr   rs   ru   rv   r³   r´   s           r!   Útest_vehicle_with_yearz0TestGenerateReplyProposal.test_vehicle_with_year¶   sx   € Ü˜FÔ#ˆÜ*Ü‹G�UœOÓ-¸aô
ˆð Ð/˜ ,Ñ/Ð/ˆvÐ/Ð/×/×/Õ/ˆvÐ/×/×/Ó/ˆv×/×/Ò/Ð/×/×/×/×/×/×/Ô/r#   c                óZ  — t        g ¬«      }t        t        «       t        «       |d¬«      }|d   }d}||k(  }|slt	        j
                  d|fd||f«      t	        j                  |«      t	        j                  |«      dœz  }d	d
|iz  }t        t	        j                  |«      «      ‚d x}x}}y )Nrª   r   rT   r`   r   r€   r‚   rs   ru   rv   )	rK   r	   r"   r6   rc   rd   re   ri   rj   )rk   r®   rZ   rl   ry   rm   rz   r{   s           r!   Ú test_no_offers_returns_empty_urlz:TestGenerateReplyProposal.test_no_offers_returns_empty_url½   sw   € Ü ¨Ô+ˆÜ*Ü‹G”V“X˜v°aô
ˆð ˜Ñ$Ð*¨Ð*Ð$¨Ñ*×*×*Õ*Ð$¨×*×*Ó*Ð$×*×*Ò*¨×*×*×*×*×*×*Ô*r#   N)Ú__name__Ú
__module__Ú__qualname__rp   r|   r~   rƒ   r…   r‡   r˜   r›   r§   r¯   r±   r¶   r¸   r¼   r¾   r0   r#   r!   rR   rR   S   sO   „ ò)ò6ò0ò?ò3òPò4ò,ò ò:ò6òAò;ò0ó+r#   rR   c                  ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestWriterProposalIntegrationc                ó,  — t        «       }t        |«      }t        ||«      }|j                  t        j
                  «      5  |j                  t        «       t        «       t        «       «       ddd«       d„ |j                  D «       }t        |«      }|s•ddt        j                  «       v st        j                  t        «      rt        j                   t        «      ndt        j                   |«      t        j                   |«      dœz  }t#        t        j$                  |«      «      ‚dx}}|j                  D �cg c]   }d|j&                  v rd|j&                  v r|‘Œ" }	}t)        |	«      }
d}|
|k(  }|söt        j*                  d	|fd
|
|f«      dt        j                  «       v st        j                  t(        «      rt        j                   t(        «      nddt        j                  «       v st        j                  |	«      rt        j                   |	«      ndt        j                   |
«      t        j                   |«      dœz  }dd|iz  }t#        t        j$                  |«      «      ‚dx}
x}}|j-                  «        y# 1 sw Y   �ŒxY wc c}w )u;   Status 67 (Dopasowano) â†’ proposal saved to custom fields.Nc              3  ó8   K  — | ]  }d |j                   v –— Œ y­w©zReply proposal savedN©Úmessage©Ú.0Úrs     r!   ú	<genexpr>zSTestWriterProposalIntegration.test_proposal_saved_for_dopasowano.<locals>.<genexpr>Ô   s   è ø€ ÒO¸1Ð)¨Q¯Y©YÔ6ÑOùó   ‚z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úany©rŽ   r�   rt   ÚPUTÚpropozycja_odpowiedzir   r€   ©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sr�   Ú	put_callsrŸ   r    r¡   )rP   r   r
   Úat_levelÚloggingÚINFOÚ
write_leadr"   r6   rK   ÚrecordsrÎ   rf   rg   rc   rh   re   ri   rj   rÈ   r�   rd   Úclose)rk   ÚcaplogÚsettingsÚdgredÚwriterr“   ry   rz   rË   rÓ   rm   r•   r¥   r{   r¦   s                  r!   Ú"test_proposal_saved_for_dopasowanoz@TestWriterProposalIntegration.test_proposal_saved_for_dopasowanoÊ   s�  € ä“;ˆÜ˜HÓ%ˆÜ˜E 8Ó,ˆà�_‰_œWŸ\™\Ó*ñ 	DØ×Ñœe›g¤v£x´Ó1BÔC÷	Dñ PÀÇÁÔOÐOŒsÐOÓOÐOÑO×O×O×O×OÕOŒs×O×OÓOŒs×O×OÔOÐO×O×OÒOÐO×O×O×O×O×OÒOð —~‘~ö
ØØ˜Ÿ	™	Ñ!Ð&=ÀÇÁÑ&Jò ð
ˆ	ð 
ô �9‹~Ð" Ð"ˆ~ Ñ"×"×"Õ"ˆ~ ×"×"×"×"×"Ñ"Œs×"×"Ó"Œs×"×"×"×"×"Ò"�9×"×"Ó"�9×"×"Ô"ˆ~×"×"Ò" ×"×"×"×"×"×"Ó"Ø�‰�÷	Dñ 	Düò
s   Á,JÄ<%JÊJc                óÀ  — t        «       }t        |«      }t        ||«      }t        ddt	        «       gd¬«      }|j                  t        j                  «      5  |j                  t        «       t        «       |«       ddd«       d„ |j                  D «       }t        |«      }| }|s•ddt        j                  «       v st        j                   t        «      rt        j"                  t        «      ndt        j"                  |«      t        j"                  |«      d	œz  }	t%        t        j&                  |	«      «      ‚dx}x}}|j)                  «        y# 1 sw Y   ŒØxY w)
u+   Status 68 (Do weryfikacji) â†’ no proposal.g333333ã?ÚatrybutyTrF   Nc              3  ó8   K  — | ]  }d |j                   v –— Œ y­wrÆ   rÇ   rÉ   s     r!   rÌ   zLTestWriterProposalIntegration.test_no_proposal_for_review.<locals>.<genexpr>ê   ó   è ø€ ÒS¸qÐ-°·±Ô:ÑSùrÍ   ú0assert not %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}rÎ   rÏ   )rP   r   r
   r   rB   rÔ   rÕ   rÖ   r×   r"   r6   rØ   rÎ   rf   rg   rc   rh   re   ri   rj   rÙ   ©
rk   rÚ   rÛ   rÜ   rÝ   r®   r“   ry   r•   ro   s
             r!   Útest_no_proposal_for_reviewz9TestWriterProposalIntegration.test_no_proposal_for_reviewÝ   sì   € ä“;ˆÜ˜HÓ%ˆÜ˜E 8Ó,ˆÜØ JÜ“H�: tô
ˆð
 �_‰_œWŸ\™\Ó*ñ 	9Ø×Ñœe›g¤v£x°Ô8÷	9ñ TÀFÇNÁNÔSÐS”3ÐSÓSÐSÐSÐSÐSÑS×S×S×S×SÕS”3×S×SÓS”3×S×SÔSÐS×S×SÒSÐS×S×S×S×S×SÔSØ�‰�÷		9ð 	9ús   Á$EÅEc                ó¬  — t        «       }t        |«      }t        ||«      }t        ddd¬«      }|j	                  t
        j                  «      5  |j                  t        «       t        «       |«       ddd«       d„ |j                  D «       }t        |«      }| }|s•ddt        j                  «       v st        j                  t        «      rt        j                   t        «      ndt        j                   |«      t        j                   |«      d	œz  }	t#        t        j$                  |	«      «      ‚dx}x}}|j'                  «        y# 1 sw Y   ŒØxY w)
u-   Status 69 (Brak dopasowania) â†’ no proposal.g        ÚbrakF)rG   rH   rJ   Nc              3  ó8   K  — | ]  }d |j                   v –— Œ y­wrÆ   rÇ   rÉ   s     r!   rÌ   zNTestWriterProposalIntegration.test_no_proposal_for_no_match.<locals>.<genexpr>÷   râ   rÍ   rã   rÎ   rÏ   ©rP   r   r
   r   rÔ   rÕ   rÖ   r×   r"   r6   rØ   rÎ   rf   rg   rc   rh   re   ri   rj   rÙ   rä   s
             r!   Útest_no_proposal_for_no_matchz;TestWriterProposalIntegration.test_no_proposal_for_no_matchí   sà   € ä“;ˆÜ˜HÓ%ˆÜ˜E 8Ó,ˆÜ¨°FÀEÔJˆà�_‰_œWŸ\™\Ó*ñ 	9Ø×Ñœe›g¤v£x°Ô8÷	9ñ TÀFÇNÁNÔSÐS”3ÐSÓSÐSÐSÐSÐSÑS×S×S×S×SÕS”3×S×SÓS”3×S×SÔSÐS×S×SÒSÐS×S×S×S×S×SÔSØ�‰�÷		9ð 	9ús   Á$E
Å
Ec                ól  — t        «       }t        |«      }t        ||«      }|j                  t        j
                  «      5  |j                  t        «       t        «       t        «       «       ddd«       |j                  D �cg c]*  }d|j                  v rd|j                  v r|j                  ‘Œ, }}t        |«      }d}||k(  }	|	söt        j                  d|	fd||f«      dt        j                   «       v st        j"                  t        «      rt        j$                  t        «      nddt        j                   «       v st        j"                  |«      rt        j$                  |«      ndt        j$                  |«      t        j$                  |«      d	œz  }
d
d|
iz  }t'        t        j(                  |«      «      ‚dx}x}	}|d   }d}||v }|s™t        j                  d|fd||f«      t        j$                  |«      dt        j                   «       v st        j"                  |«      rt        j$                  |«      nddœz  }dd|iz  }t'        t        j(                  |«      «      ‚dx}}d}||v }|s™t        j                  d|fd||f«      t        j$                  |«      dt        j                   «       v st        j"                  |«      rt        j$                  |«      nddœz  }dd|iz  }t'        t        j(                  |«      «      ‚dx}}|j+                  «        y# 1 sw Y   �Œ¹xY wc c}w )z8Verify the PUT payload contains all three custom fields.NrÐ   rÑ   r   r€   rÒ   r�   Úput_msgsrŸ   r    r¡   r   Úlink_ofertyrW   rY   Úmsgr[   r^   r_   Úlink_profilu)rP   r   r
   rÔ   rÕ   rÖ   r×   r"   r6   rK   rØ   rÈ   r�   rc   rd   rf   rg   rh   re   ri   rj   rÙ   )rk   rÚ   rÛ   rÜ   rÝ   rË   rì   rm   r•   r¥   r{   r¦   rî   rl   rn   ro   s                   r!   Útest_proposal_fields_in_putz9TestWriterProposalIntegration.test_proposal_fields_in_putú   sö  € ä“;ˆÜ˜HÓ%ˆÜ˜E 8Ó,ˆà�_‰_œWŸ\™\Ó*ñ 	DØ×Ñœe›g¤v£x´Ó1BÔC÷	Dð  &Ÿ~™~ö
ØØ˜Ÿ	™	Ñ!Ð&=ÀÇÁÑ&Jð �I‹Ið
ˆð 
ô �8‹}Ð! Ð!ˆ} Ñ!×!×!Õ!ˆ} ×!×!×!×!×!Ñ!Œs×!×!Ó!Œs×!×!×!×!×!Ò!�8×!×!Ó!�8×!×!Ô!ˆ}×!×!Ò! ×!×!×!×!×!×!Ó!Ø�q‰kˆØÐ#ˆ} Ð#×#×#Õ#ˆ} ×#×#Ó#ˆ}×#×#×#×#×#Ð# ×#×#Ó# ×#×#×#×#×#×#Ó#ØÐ$ˆ~ Ð$×$×$Õ$ˆ~ ×$×$Ó$ˆ~×$×$×$×$×$Ð$ ×$×$Ó$ ×$×$×$×$×$×$Ó$Ø�‰�÷	Dñ 	Düò
s   Á,L$Â/L1Ì$L.c                ó®  — t        «       }t        |«      }t        ||«      }t        ddg d¬«      }|j	                  t
        j                  «      5  |j                  t        «       t        «       |«       ddd«       d„ |j                  D «       }t        |«      }| }|s•ddt        j                  «       v st        j                  t        «      rt        j                   t        «      ndt        j                   |«      t        j                   |«      d	œz  }	t#        t        j$                  |	«      «      ‚dx}x}}|j'                  «        y# 1 sw Y   ŒØxY w)
uA   Edge case: confidence high but offers list empty â†’ no proposal.rD   rE   TrF   Nc              3  ó8   K  — | ]  }d |j                   v –— Œ y­wrÆ   rÇ   rÉ   s     r!   rÌ   z\TestWriterProposalIntegration.test_no_proposal_when_matched_but_no_offers.<locals>.<genexpr>  râ   rÍ   rã   rÎ   rÏ   ré   rä   s
             r!   Ú+test_no_proposal_when_matched_but_no_offerszITestWriterProposalIntegration.test_no_proposal_when_matched_but_no_offers  sâ   € ä“;ˆÜ˜HÓ%ˆÜ˜E 8Ó,ˆÜ¨°TÀ"ÈdÔSˆà�_‰_œWŸ\™\Ó*ñ 	9Ø×Ñœe›g¤v£x°Ô8÷	9ñ TÀFÇNÁNÔSÐS”3ÐSÓSÐSÐSÐSÐSÑS×S×S×S×SÕS”3×S×SÓS”3×S×SÔSÐS×S×SÒSÐS×S×S×S×S×SÔSØ�‰�÷		9ð 	9ús   Á$EÅEN)r¿   rÀ   rÁ   rÞ   rå   rê   rð   ró   r0   r#   r!   rÃ   rÃ   É   s   „ òò&ò òó&r#   rÃ   )r8   zJan Kowalski)r   Ústrr    rô   Úreturnr   )rõ   r   )rõ   r   )rõ   r   )rõ   r   )!Ú__doc__Ú
__future__r   Úbuiltinsrf   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterc   rÕ   r   ÚpytestÚagent_samochodowy.configr   Úagent_samochodowy.dgred.clientr   Ú&agent_samochodowy.dgred.reply_proposalr   r	   Úagent_samochodowy.dgred.writerr
   Úagent_samochodowy.modelsr   r   r   r   r"   r6   rB   rK   rP   rR   rÃ   r0   r#   r!   ú<module>r     s`   ðÙ Aå "ç  „ ƒÝ ã å -Ý 6÷õ 6ß HÓ Hô	ó!óó#ó8÷o+ñ o+÷lOò Or#   