§
     ’j  ã                   ó®   — d dl Zd dlmc mZ d dlZd dlmZ d dl	m
Z
  G d„ d¦  «        Z G d„ dej        ¦  «        Zedk    r ej        ¦   «          dS dS )	é    N)ÚAny)ÚDossierReportServicec                   óP   — e Zd Zd	dedz  fd„Zdddœdedeeef         dz  fd„Z	dS )
ÚStubQdrantStoreNÚerrorc                 ó@   — t          |pg ¦  «        | _        || _        d S ©N)ÚlistÚ_resultsÚ_error)ÚselfÚresultsr   s      ú7C:\Projects\DSCons\tests\test_dossier_report_service.pyÚ__init__zStubQdrantStore.__init__   s    € Ý˜W˜]¨Ñ+Ô+ˆŒØˆŒˆˆó    éd   )ÚlimitÚfiltersr   r   c                óF   — | j         �| j         ‚t          | j        ¦  «        S r	   )r   r
   r   )r   r   r   s      r   ÚscrollzStubQdrantStore.scroll   s"   € ØŒ;Ð"Ø”+ÐÝ�D”MÑ"Ô"Ð"r   )NN)
Ú__name__Ú
__module__Ú__qualname__Ú	Exceptionr   ÚintÚdictÚstrr   r   © r   r   r   r      sy   € € € € € ðð ¨I¸Ñ,<ð ð ð ð ð &)È4ð #ð #ð #˜sð #°4¸¸S¸´>ÀDÑ3Hð #ð #ð #ð #ð #ð #r   r   c                   ó.   — e Zd Z	 	 dd„Z	 	 dd„Zdd„ZdS )Ú&DossierReportServiceBehaviorAuditTestsÚreturnNc                 ó‚  — t          t          ddddddddd	œd
œddddddœd
œg¬¦  «        ¦  «        }|                     d¦  «        }|                      |d         d¦  «         |                      d|d         ¦  «         |                      |d         d         dg¦  «         |                      d|d         ¦  «         d S )NÚ1zPRJ-001Úhop_dongÚcontractingzhop_dong_01.docxÚcontractÚcontract_managementg      ð?)Úproject_codeÚdocument_typeÚ	doc_stageÚsource_filenameÚ
doc_familyÚ	task_typeÚreadiness_weight©ÚidÚmetadataÚ2zhop_dong_02.docx©r(   r)   r*   r+   ©r   r(   Údocuments_presentÚdocument_index©r   r   Úbuild_project_reportÚassertEqualÚassertIn©r   ÚserviceÚreports      r   ÚItest_build_project_report_deduplicates_document_types_from_scroll_resultszpDossierReportServiceBehaviorAuditTests.test_build_project_report_deduplicates_document_types_from_scroll_results   s
  € õ 'Ýð "à,5Ø-7Ø)6Ø/AØ*4Ø)>Ø03ð%ð %ðð ð "à,5Ø-7Ø)6Ø/Að	%ð %ðð ððñ ô ñ
ô 
ˆð8 ×-Ò-¨iÑ8Ô8ˆà×Ò˜ Ô/°Ñ;Ô;Ð;Ø�Š�m VÐ,?Ô%@ÑAÔAÐAØ×Ò˜Ð 3Ô4°]ÔCÀjÀ\ÑRÔRÐRØ�Š�j &Ð)9Ô":Ñ;Ô;Ð;Ð;Ð;r   c                 ó*  — t          t          t          d¦  «        ¬¦  «        ¦  «        }|                     d¦  «        }|                      |d         d¦  «         |                      |d         d¦  «         |                      |d         ¦  «         |                      d|d	         ¦  «         |                      |d
         i ¦  «         |                      |d         i ¦  «         |                      d|¦  «         |                      d|¦  «         d S )Nzqdrant unavailable)r   zPRJ-ERRr(   ÚsourceÚfallbackÚused_fallbackÚQdrantÚmessager5   r6   Ú	readinessÚsummary)r   r   ÚRuntimeErrorr8   r9   Ú
assertTruer:   r;   s      r   ÚLtest_build_project_report_returns_safe_empty_report_when_qdrant_scroll_failszsDossierReportServiceBehaviorAuditTests.test_build_project_report_returns_safe_empty_report_when_qdrant_scroll_fails9   s  € õ 'Ý¥,Ð/CÑ"DÔ"DÐEÑEÔEñ
ô 
ˆð ×-Ò-¨iÑ8Ô8ˆà×Ò˜ Ô/°Ñ;Ô;Ð;Ø×Ò˜ Ô)¨:Ñ6Ô6Ð6Ø�Š˜˜Ô/Ñ0Ô0Ð0Ø�Š�h  yÔ 1Ñ2Ô2Ð2Ø×Ò˜Ð 3Ô4°bÑ9Ô9Ð9Ø×Ò˜Ð 0Ô1°2Ñ6Ô6Ð6Ø�Š�k 6Ñ*Ô*Ð*Ø�Š�i Ñ(Ô(Ð(Ð(Ð(r   c                 ó¢  — t          t          ddidd dœdddidœddd	d
ddœdœg¬¦  «        ¦  «        }|                     d¦  «        }|                      |d         d¦  «         |                      d
|d         ¦  «         |                      d	|d         d
         ¦  «         |                      d|¦  «         |                      d|¦  «         d S )Nr0   r#   r2   r/   Ú3r(   zPRJ-002Ú4Úbien_ban_nghiem_thu_noi_boÚfinalizationzbbntnb.docxr3   r4   r5   rE   rF   r7   r;   s      r   Ú?test_build_project_report_handles_missing_metadata_shape_safelyzfDossierReportServiceBehaviorAuditTests.test_build_project_report_handles_missing_metadata_shape_safelyK   s  € Ý&Ýà˜3�KØ¨DÐ1Ð1Ø¨^¸YÐ,GÐHÐHà!à,5Ø-IØ)7Ø/<ð	%ð %ðð ð	ðñ ô ñ
ô 
ˆð& ×-Ò-¨iÑ8Ô8ˆà×Ò˜ Ô/°Ñ;Ô;Ð;Ø�Š�n fÐ-@Ô&AÑBÔBÐBØ�ŠØ(ØÐ&Ô'¨Ô7ñ	
ô 	
ð 	
ð 	�Š�k 6Ñ*Ô*Ð*Ø�Š�i Ñ(Ô(Ð(Ð(Ð(r   )r!   N)r   r   r   r>   rI   rO   r   r   r   r    r       sa   € € € € € ð$<à	ð$<ð $<ð $<ð $<ðL)à	ð)ð )ð )ð )ð$)ð )ð )ð )ð )ð )r   r    Ú__main__)ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arÚunittestÚtypingr   Ú6app.modules.dossier.application.dossier_report_servicer   r   ÚTestCaser    r   Úmainr   r   r   ú<module>r\      sÐ   ðØ  € € € € € € € € € € € € €€€€Ø Ð Ð Ð Ð Ð à WÐ WÐ WÐ WÐ WÐ Wð#ð #ð #ð #ð #ñ #ô #ð #ðV)ð V)ð V)ð V)ð V)¨XÔ->ñ V)ô V)ð V)ðr ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   