§
    A”jÐ  ã                   ól   — d dl Zd dlmc mZ d dlmZ d dlm	Z	 d dl
mZ  ee	¦  «        Zd„ Zd„ Zd„ ZdS )é    N)Ú
TestClient)Úapp)ÚPartnerServicec                  ób  — t          ¦   «         } |                      ¦   «         }|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}}|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}}|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}}dS )uR   Kiá»ƒm tra trÃ­ch xuáº¥t vÃ  Ä‘á»“ng bá»™ Ä‘á»‘i tÃ¡c tá»« hÃ³a Ä‘Æ¡n thá»±c táº¿.ÚstatusÚsuccess©ú==)z%(py1)s == %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6NÚtotal_partners_syncedr   ©ú>©z%(py1)s > %(py4)sÚtotal_history_records_created)r   Ú+extract_and_sync_all_partners_from_invoicesÚ
@pytest_arÚ_call_reprcompareÚ	_safereprÚAssertionErrorÚ_format_explanation)ÚsvcÚresÚ@py_assert0Ú@py_assert3Ú@py_assert2Ú@py_format5Ú@py_format7s          ú0C:\Projects\DSCons\tests\test_partner_service.pyÚ%test_partner_service_extract_and_syncr#   	   s  € å
Ñ
Ô
€CØ
×
9Ò
9Ñ
;Ô
;€CØˆxŒ=Ð%˜IÐ%ˆ=˜IÒ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%ˆ=˜IÐ%Ñ%Ô%Õ%Ô%ˆ=Ñ%Ô%Õ%Ô%˜IÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØÐ&Ô'Ð+¨!Ð+Ð'¨!Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð'¨!Ð+Ñ+Ô+Õ+Ô+Ð'Ñ+Ô+Õ+Ô+¨!Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØÐ.Ô/Ð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Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ó    c                  ó4
  — t          ¦   «         } |                      d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}}|d         }t          |¦  «        }d}||k    }	|	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}	}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         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}}|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}}|                      d¦  «        }|�r¯|d         }t          |¦  «        }d}||k    }	|	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}	}d }|d!         }|j        }	 |	¦   «         }||v }|s’t          j        d|fd"||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        d#œz  }d$d%|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}	}dS dS )&uV   Kiá»ƒm tra query danh sÃ¡ch Ä‘á»‘i tÃ¡c vÃ  dÃ²ng thá»�i gian lá»‹ch sá»­ thay Ä‘á»•i.Úallé2   )Úrole_filterÚlimitÚtotalr   r   r   r   r   r   NÚitems)z/%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} > %(py7)sÚlen)Úpy0Úpy2r   Úpy7zassert %(py9)sÚpy9Úkpis©Úin©z%(py1)s in %(py3)sÚdata©r   Úpy3úassert %(py5)sÚpy5Útotal_customersÚtotal_vendorsÚ
0200120833Úhistoryé   )ú>=)z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} >= %(py7)sÚ
PETROLIMEXÚcompany_name)zD%(py1)s in %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.upper
}()
})r   r   r   Úpy8zassert %(py10)sÚpy10)r   Úget_partnersr   r   r   r   r   r,   Ú@py_builtinsÚlocalsÚ_should_repr_global_nameÚget_partner_detailÚupper)r   r5   r   r   r   r    r!   Ú@py_assert1Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10Ú@py_format4Ú@py_format6Ú
petrolimexÚ@py_assert7Ú@py_format9Ú@py_format11s                     r"   Ú&test_partner_service_query_and_historyrU      s
  € å
Ñ
Ô
€CØ×Ò¨°RÐÑ8Ô8€DØ�Œ=Ð˜1Ðˆ=˜1ÒÐÐÐÕÔÐÐÐÐˆ=˜1ÐÑÔÕÔˆ=ÑÔÕÔ˜1ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ�GŒ}Ð!�3ˆ}ÑÔÐ! Ð!Ð Ò!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!Ð Ð!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!�3Ñ!Ô!Ð!Õ!Ô!�3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ}Ñ!Ô!Õ!Ô!ÐÑ!Ô!Õ!Ô! Ñ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ØÐˆ6�Tˆ>ÐÐÐÕÔÐÐÐÐˆ6�TÐÑÔÕÔˆ6ÑÔÐÕÔÑÔÐÐÕÔ�TÑÔÐÕÔ�TÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�Œ<Ð)Ô*Ð.¨QÐ.Ð*¨QÒ.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð*¨QÐ.Ñ.Ô.Õ.Ô.Ð*Ñ.Ô.Õ.Ô.¨QÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ø�Œ<˜Ô(Ð,¨1Ð,Ð(¨1Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð(¨1Ð,Ñ,Ô,Õ,Ô,Ð(Ñ,Ô,Õ,Ô,¨1Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ð ×'Ò'¨Ñ5Ô5€JØñ BØ˜iÔ(Ð.�sÐ(Ñ)Ô)Ð.¨QÐ.Ð)¨QÒ.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð)¨QÐ.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�sÑ.Ô.Ð.Õ.Ô.�sÑ.Ô.Ð.Ð.Õ.Ô.Ð(Ñ.Ô.Õ.Ô.Ð)Ñ.Ô.Õ.Ô.¨QÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.àÐA˜z¨.Ô9ÐAÐ9Ô?ÐAÐ?Ð?ÑAÔAÐAˆ|ÐAÐAÐAÐAÐAÕAÔAÐAÐAÐAÐAˆ|ÐAÐAÑAÔAÕAÔAˆ|ÑAÔAÕAÔAÐ9ÑAÔAÕAÔAÐ?ÑAÔAÕAÔAÐAÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAðBð Br$   c                  ó‚  — t                                d¦  «        } | j        }d}||k    }|sªt          j        d|fd||f¦  «        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
}||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
         �rL|d
         d         d         }
t                                d|
› �¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        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}||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}}t                                d¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        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}|j        }||v }|sªt          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d	x}x}}t                                d¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        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 }|j        }||v }|sªt          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d	x}x}}d	S )!u7   Kiá»ƒm tra REST API endpoints cho Partners & Customers.z/v1/erp/partners?role=customeréÈ   r	   )z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sr   )r-   r.   r9   zassert %(py7)sr/   Nr+   r2   r4   Ú	json_datar6   r8   r9   r1   r   Úidz/v1/erp/partners/Úres_detr=   Údet_dataÚrelated_invoicesz/dashboard/customersÚres_page_custu   Quáº£n LÃ½ KhÃ¡ch HÃ ng)z,%(py1)s in %(py5)s
{%(py5)s = %(py3)s.text
})r   r7   r9   z/dashboard/partnersÚres_page_partu%   Quáº£n LÃ½ KhÃ¡ch HÃ ng & Ä�á»‘i TÃ¡c)ÚclientÚgetÚstatus_coder   r   rE   rF   rG   r   r   r   ÚjsonÚtext)r   rJ   Ú@py_assert4r   rP   rM   rX   r   r   rO   Úfirst_idrZ   r[   r]   r^   s                  r"   Útest_partner_api_endpointsrf   $   sì  € õ �*Š*Ð5Ñ
6Ô
6€CØŒ?Ð!˜cÐ!ˆ?˜cÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ?˜cÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ?Ñ!Ô!Õ!Ô!˜cÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø—’‘
”
€IØÐˆ7�iÐÐÐÐÕÔÐÐÐÐˆ7�iÐÑÔÕÔˆ7ÑÔÐÕÔÑÔÐÐÕÔ�iÑÔÐÕÔ�iÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆ6�YÐÐÐÐÕÔÐÐÐÐˆ6�YÐÑÔÕÔˆ6ÑÔÐÕÔÑÔÐÐÕÔ�YÑÔÐÕÔ�YÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐð �Ôñ .Ø˜WÔ% aÔ(¨Ô.ˆÝ—*’*Ð;°Ð;Ð;Ñ<Ô<ˆØÔ"Ð) cÐ)Ð" cÒ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð" cÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Õ)Ô)Ð"Ñ)Ô)Õ)Ô) cÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø—<’<‘>”>ˆØÐ$ˆy˜HÐ$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆy˜HÐ$Ñ$Ô$Õ$Ô$ˆyÑ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$˜HÑ$Ô$Ð$Õ$Ô$˜HÑ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ø!Ð-Ð! XÐ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð! XÐ-Ñ-Ô-Õ-Ô-Ð!Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô- XÑ-Ô-Ð-Õ-Ô- XÑ-Ô-Ð-Ð-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-õ —J’JÐ5Ñ6Ô6€MØÔ$Ð+¨Ð+Ð$¨Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð$¨Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆ=Ñ+Ô+Ð+Õ+Ô+ˆ=Ñ+Ô+Ð+Ð+Õ+Ô+Ð$Ñ+Ô+Õ+Ô+¨Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø$Ð:¨Ô(:Ð:Ð$Ð(:Ð:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð$Ð(:Ð:Ñ:Ô:Õ:Ô:Ð$Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:¨Ñ:Ô:Ð:Õ:Ô:¨Ñ:Ô:Ð:Ð:Õ:Ô:Ð(:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:å—J’JÐ4Ñ5Ô5€MØÔ$Ð+¨Ð+Ð$¨Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð$¨Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆ=Ñ+Ô+Ð+Õ+Ô+ˆ=Ñ+Ô+Ð+Ð+Õ+Ô+Ð$Ñ+Ô+Õ+Ô+¨Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø2ÐH°mÔ6HÐHÐ2Ð6HÐHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ2Ð6HÐHÑHÔHÕHÔHÐ2ÑHÔHÐHÕHÔHÑHÔHÐHÐHÕHÔH°mÑHÔHÐHÕHÔH°mÑHÔHÐHÐHÕHÔHÐ6HÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHÐHÐHr$   )ÚbuiltinsrE   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   Úfastapi.testclientr   Úapp.mainr   Ú0app.modules.partners.application.partner_servicer   r_   r#   rU   rf   © r$   r"   ú<module>ro      s¢   ðØ  € € € € € € € € € € € € Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ð Ð Ø KÐ KÐ KÐ KÐ KÐ Kà	ˆ�C‰Œ€ð4ð 4ð 4ðBð Bð Bð$Ið Ið Ið Ið Ir$   