§
    ýašjð  ã                   óX  — d Z ddlZddlmc mZ ddlmZ ddl	m
Z
 ddlZddlZddlmZ ddlmZ ddlmZ ddlmZmZ ej        d	efd
„¦   «         Zej        d	efd„¦   «         Zej        d	efd„¦   «         Zd„ Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„Z defd„Z!defd„Z"dS )zbUnit and integration tests for Debt Ledgers (131, 331) and Fixed Assets (211/214) Source of Truth.é    N)Údate)ÚDecimal)Ú
TestClient)Ú
create_app)Úget_current_user)ÚDEFAULT_FINANCE_FOLDERÚDebtLedgerSyncServiceÚreturnc                  ó   — t          ¦   «         S ©N)r	   © ó    úNC:\Projects\DSCons\tests\modules\financial\test_debt_ledger_source_of_truth.pyÚsync_servicer      s   € å Ñ"Ô"Ð"r   c                  ó\   — t          ¦   «         } d„ | j        t          <   t          | ¦  «        S )Nc                  ó   — dddddœS )Nzdirector-test-idzdirector@dscons.vnÚdirectoru   Nguyá»…n SÄ© SÆ¡n)ÚidÚemailÚroleÚ	full_namer   r   r   r   ú<lambda>zauth_client.<locals>.<lambda>   s   € Ø Ø%ØØ(ð	:ð :€ r   )r   Údependency_overridesr   r   ©Úapps    r   Úauth_clientr      s.   € å
‰,Œ,€Cð2ð 2€CÔÕ-Ñ.õ �c‰?Œ?Ðr   c                  ó<   — t          ¦   «         } t          | ¦  «        S r   )r   r   r   s    r   Úunauth_clientr   "   s   € å
‰,Œ,€CÝ�c‰?Œ?Ðr   c                  ób	  — t           j        } | j        } |t          ¦  «        }|sðddt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚dx} x}}t           j                             t          d¦  «        }t           j                             t          d¦  «        }t           j                             t          d¦  «        }t           j        } | j        } ||¦  «        }|sæd	dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        d
t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚dx} x}}t           j        } | j        } ||¦  «        }|sæd	dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚dx} x}}t           j        } | j        } ||¦  «        }|sæd	dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚dx} x}}dS )uc   Ä�áº£m báº£o thÆ° má»¥c vÃ  3 file Excel sá»• cÃ´ng ná»£ 2026 thá»±c táº¿ tá»“n táº¡i Ä‘áº§y Ä‘á»§.úaassert %(py7)s
{%(py7)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.isdir
}(%(py5)s)
}Úosr   ©Úpy0Úpy2Úpy4Úpy5Úpy7Nz'Tong_hop_cong_no_phai_thu 31.3.2026.xlsz'Tong_hop_cong_no_phai_tra 31.3.2026.xlszSo_tai_san_co_dinh Q1.2026.xlszbassert %(py7)s
{%(py7)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.exists
}(%(py5)s)
}Úf_thuÚf_traÚf_ts)r!   ÚpathÚisdirr   Ú@py_builtinsÚlocalsÚ
@pytest_arÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚjoinÚexists)Ú@py_assert1Ú@py_assert3Ú@py_assert6Ú@py_format8r(   r)   r*   s          r   Útest_excel_files_existr:   (   sL  € åŒ7Ð0ˆ7Œ=Ð0ˆ=ˆ=Õ/Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0�2Ñ0Ô0Ð0Õ0Ô0�2Ñ0Ô0Ð0Ð0Õ0Ô0ˆ7Ñ0Ô0Õ0Ô0ˆ=Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0Õ/Ñ0Ô0Ð0Õ0Ô0Õ/Ñ0Ô0Ð0Ð0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ÝŒG�LŠLÕ/Ð1ZÑ[Ô[€EÝŒG�LŠLÕ/Ð1ZÑ[Ô[€EÝŒ7�<Š<Õ.Ð0PÑQÔQ€DåŒ7Ð ˆ7Œ>Ð ˆ>ˆ>˜%Ñ Ô Ð Ð Ð Ð Ð Õ Ô Ñ Ô Ð Ð Õ Ô �2Ñ Ô Ð Õ Ô �2Ñ Ô Ð Ð Õ Ô ˆ7Ñ Ô Õ Ô ˆ>Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˜%Ñ Ô Ð Õ Ô ˜%Ñ Ô Ð Ð Õ Ô Ð Ñ Ô Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ÝŒ7Ð ˆ7Œ>Ð ˆ>ˆ>˜%Ñ Ô Ð Ð Ð Ð Ð Õ Ô Ñ Ô Ð Ð Õ Ô �2Ñ Ô Ð Õ Ô �2Ñ Ô Ð Ð Õ Ô ˆ7Ñ Ô Õ Ô ˆ>Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˜%Ñ Ô Ð Õ Ô ˜%Ñ Ô Ð Ð Õ Ô Ð Ñ Ô Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ÝŒ7Ðˆ7Œ>Ðˆ>ˆ>˜$ÑÔÐÐÐÐÐÕÔÑÔÐÐÕÔ�2ÑÔÐÕÔ�2ÑÔÐÐÕÔˆ7ÑÔÕÔˆ>ÑÔÐÕÔÑÔÐÐÕÔ˜$ÑÔÐÕÔ˜$ÑÔÐÐÕÔÐÑÔÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐr   r   c                 ó   — |                       ¦   «         }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         }|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}
t          |
¦  «        }||k    }|sÇt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}
}|d         }d}
t          |
¦  «        }||k    }|sÇt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}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         }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}
t          |
¦  «        }||k    }|sÇt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}
}|d         }d}
t          |
¦  «        }||k    }|sÇt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}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          }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#}
t          |
¦  «        }||k    }|sÇt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}
}|d$         }d%}
t          |
¦  «        }||k    }|sÇt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}
}dS )&u]   Kiá»ƒm tra quÃ¡ trÃ¬nh náº¡p toÃ n bá»™ 3 file Excel vÃ o database vÃ  Ä‘á»‘i soÃ¡t sá»‘ dÆ°.Úreceivables©Úin©z%(py1)s in %(py3)sÚres©Úpy1Úpy3úassert %(py5)sr&   NÚpayablesÚfixed_assetsÚstatusÚsuccess©ú==©z%(py1)s == %(py4)s©rB   r%   úassert %(py6)sÚpy6Úrecords_counté   Útotal_closing_debit_vndÚ
2289477746)z0%(py1)s == %(py7)s
{%(py7)s = %(py3)s(%(py5)s)
}r   )rB   rC   r&   r'   úassert %(py9)sÚpy9Útotal_closing_credit_vndÚ
1282283442é#   Ú
1112743700Ú
2539165129Úassets_counté   Útotal_original_cost_vndÚ
8572332222Útotal_net_book_value_vndÚ
7911806062)
Úsync_all_from_folderr/   Ú_call_reprcomparer1   r-   r.   r0   r2   r3   r   )r   r@   Ú@py_assert0Ú@py_assert2Ú@py_format4Ú@py_format6Úrecr7   Ú@py_format5Ú@py_format7Ú@py_assert4r8   r9   Ú@py_format10ÚpayÚfas                   r   Ú#test_sync_all_from_folder_integrityrm   4   sœ  € à
×
+Ò
+Ñ
-Ô
-€CàÐˆ=˜CÐÐÐÐÕÔÐÐÐÐˆ=˜CÐÑÔÕÔˆ=ÑÔÐÕÔÑÔÐÐÕÔ˜CÑÔÐÕÔ˜CÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆ:˜ÐÐÐÐÕÔÐÐÐÐˆ:˜ÐÑÔÕÔˆ:ÑÔÐÕÔÑÔÐÐÕÔ˜ÑÔÐÕÔ˜ÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ ˆ>˜SÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ>˜SÐ Ñ Ô Õ Ô ˆ>Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˜SÑ Ô Ð Õ Ô ˜SÑ Ô Ð Ð Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð ð ˆmÔ
€CØˆxŒ=Ð%˜IÐ%ˆ=˜IÒ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%ˆ=˜IÐ%Ñ%Ô%Õ%Ô%ˆ=Ñ%Ô%Õ%Ô%˜IÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØˆÔÐ% 2Ð%Ð 2Ò%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð 2Ð%Ñ%Ô%Õ%Ô%ÐÑ%Ô%Õ%Ô% 2Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØÐ(Ô)ÐB°\ÐB­W°\Ñ-BÔ-BÐBÐ)Ð-BÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ)Ð-BÐBÑBÔBÕBÔBÐ)ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB­WÑBÔBÐBÕBÔB­WÑBÔBÐBÐBÕBÔB°\ÑBÔBÕBÔBÐ-BÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBØÐ)Ô*ÐC°lÐC­g°lÑ.CÔ.CÐCÐ*Ð.CÒCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ*Ð.CÐCÑCÔCÕCÔCÐ*ÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC­gÑCÔCÐCÕCÔC­gÑCÔCÐCÐCÕCÔC°lÑCÔCÕCÔCÐ.CÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCÐCð ˆjŒ/€CØˆxŒ=Ð%˜IÐ%ˆ=˜IÒ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%ˆ=˜IÐ%Ñ%Ô%Õ%Ô%ˆ=Ñ%Ô%Õ%Ô%˜IÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØˆÔÐ% 2Ð%Ð 2Ò%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð 2Ð%Ñ%Ô%Õ%Ô%ÐÑ%Ô%Õ%Ô% 2Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØÐ(Ô)ÐB°\ÐB­W°\Ñ-BÔ-BÐBÐ)Ð-BÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ)Ð-BÐBÑBÔBÕBÔBÐ)ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB­WÑBÔBÐBÕBÔB­WÑBÔBÐBÐBÕBÔB°\ÑBÔBÕBÔBÐ-BÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBØÐ)Ô*ÐC°lÐC­g°lÑ.CÔ.CÐCÐ*Ð.CÒCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ*Ð.CÐCÑCÔCÕCÔCÐ*ÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC­gÑCÔCÐCÕCÔC­gÑCÔCÐCÐCÕCÔC°lÑCÔCÕCÔCÐ.CÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCÐCð 
ˆ^Ô	€BØˆhŒ<Ð$˜9Ð$ˆ<˜9Ò$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆ<˜9Ð$Ñ$Ô$Õ$Ô$ˆ<Ñ$Ô$Õ$Ô$˜9Ñ$Ô$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ØˆnÔÐ# Ð#Ð Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð Ð#Ñ#Ô#Õ#Ô#ÐÑ#Ô#Õ#Ô# Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ØÐ'Ô(ÐA°LÐA­G°LÑ,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­GÑAÔAÐAÕAÔA­GÑAÔAÐAÐAÕAÔA°LÑ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­W°\Ñ-BÔ-BÐBÐ)Ð-BÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ)Ð-BÐBÑBÔBÕBÔBÐ)ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB­WÑBÔBÐBÕBÔB­WÑBÔBÐBÐBÕBÔB°\ÑBÔBÕBÔBÐ-BÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBr   c           
      ó�  — |                       ¦   «         }|j        }d}d}d}t          |||¦  «        }||k    }|�s+t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }	t          t          j
        |	¦  «        ¦  «        ‚dx}x}x}x}x}}|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}}
|j        }|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        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚dx}x}x}}|j        }|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        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚dx}x}x}}|j        }|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        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚dx}x}x}}t#          d¦  «        t#          d¦  «        z
  }|j        }||k    }|sÕt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd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!¦  «        t#          d"¦  «        z
  }|j        }||k    }|sÕt          j        d|fd#||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd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}}||z
  }|j        }||k    }|sÕt          j        d|fd%||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd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S )'uI   Kiá»ƒm tra bÃ¡o cÃ¡o há»£p nháº¥t cÃ´ng ná»£ vÃ  tÃ i sáº£n cá»‘ Ä‘á»‹nh.iê  é   é   rI   )ze%(py2)s
{%(py2)s = %(py0)s.as_of_date
} == %(py12)s
{%(py12)s = %(py4)s(%(py6)s, %(py8)s, %(py10)s)
}Úoverviewr   )r#   r$   r%   rN   Úpy8Úpy10Úpy12zassert %(py14)sÚpy14NzQ1.2026)z3%(py2)s
{%(py2)s = %(py0)s.period_name
} == %(py5)s©r#   r$   r&   úassert %(py7)sr'   rP   )z_%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.receivables_summary
}.total_partners
} == %(py7)s©r#   r$   r%   r'   rS   rT   rW   )z\%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.payables_summary
}.total_partners
} == %(py7)sr[   )z^%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.fixed_assets_summary
}.total_assets
} == %(py7)sz2289477746.0000z1282283442.0000)zJ%(py2)s
{%(py2)s = %(py0)s.net_working_capital_receivable_vnd
} == %(py4)sÚexpected_net_rec©r#   r$   r%   rM   rN   z2539165129.0000z1112743700.0000)zG%(py2)s
{%(py2)s = %(py0)s.net_working_capital_payable_vnd
} == %(py4)sÚexpected_net_pay)zB%(py2)s
{%(py2)s = %(py0)s.net_trade_debt_balance_vnd
} == %(py4)sÚexpected_net_trade)Úget_consolidated_overviewÚ
as_of_dater   r/   ra   r-   r.   r0   r1   r2   r3   Úperiod_nameÚreceivables_summaryÚtotal_partnersÚpayables_summaryÚfixed_assets_summaryÚtotal_assetsr   Ú"net_working_capital_receivable_vndÚnet_working_capital_payable_vndÚnet_trade_debt_balance_vnd)r   rq   r6   Ú@py_assert5Ú@py_assert7Ú@py_assert9Ú@py_assert11r7   Ú@py_format13Ú@py_format15ri   re   r9   r8   rj   ry   rg   rh   r{   r|   s                       r   Ú&test_consolidated_overview_calculationrŽ   R   sÊ  € à×5Ò5Ñ7Ô7€HàÔÐ3 tÐ3¨QÐ3°Ð3¥$ t¨Q°Ñ"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ˆ8Ñ3Ô3Ð3Õ3Ô3ˆ8Ñ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 tÑ3Ô3Õ3Ô3¨QÑ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ØÔÐ, 9Ð,Ð 9Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð 9Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,ˆ8Ñ,Ô,Ð,Õ,Ô,ˆ8Ñ,Ô,Ð,Ð,Õ,Ô,ÐÑ,Ô,Õ,Ô, 9Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ØÔ'Ð<Ð'Ô6Ð<¸"Ð<Ð6¸"Ò<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<Ð6¸"Ð<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<ˆ8Ñ<Ô<Ð<Õ<Ô<ˆ8Ñ<Ô<Ð<Ð<Õ<Ô<Ð'Ñ<Ô<Õ<Ô<Ð6Ñ<Ô<Õ<Ô<¸"Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ØÔ$Ð9Ð$Ô3Ð9°rÐ9Ð3°rÒ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð3°rÐ9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆ8Ñ9Ô9Ð9Õ9Ô9ˆ8Ñ9Ô9Ð9Ð9Õ9Ô9Ð$Ñ9Ô9Õ9Ô9Ð3Ñ9Ô9Õ9Ô9°rÑ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÔ(Ð;Ð(Ô5Ð;¸Ð;Ð5¸Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð5¸Ð;Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;ˆ8Ñ;Ô;Ð;Õ;Ô;ˆ8Ñ;Ô;Ð;Ð;Õ;Ô;Ð(Ñ;Ô;Õ;Ô;Ð5Ñ;Ô;Õ;Ô;¸Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;õ Ð0Ñ1Ô1µGÐ<MÑ4NÔ4NÑNÐØÔ6ÐJÐ6Ð:JÒJÐJÐJÐJÕJÔJÐJÐJÐJÐJÐ6Ð:JÐJÑJÔJÐJÕJÔJÑJÔJÐJÐJÕJÔJˆ8ÑJÔJÐJÕJÔJˆ8ÑJÔJÐJÐJÕJÔJÐ6ÑJÔJÐJÕJÔJÑJÔJÐJÐJÕJÔJÐ:JÑJÔJÐJÕJÔJÐ:JÑJÔJÐJÐJÐJÐJÑJÐJÐJÐJÐJÐJÑJÐJÕJÕJÔJÐJÑJÔJÑJÔJÐJÐJÐJÐJÐJõ Ð0Ñ1Ô1µGÐ<MÑ4NÔ4NÑNÐØÔ3ÐGÐ3Ð7GÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ3Ð7GÐGÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGˆ8ÑGÔGÐGÕGÔGˆ8ÑGÔGÐGÐGÕGÔGÐ3ÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔGÐ7GÑGÔGÐGÕGÔGÐ7GÑGÔGÐGÐGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGð *Ð,<Ñ<ÐØÔ.ÐDÐ.Ð2DÒDÐDÐDÐDÕDÔDÐDÐDÐDÐDÐ.Ð2DÐDÑDÔDÐDÕDÔDÑDÔDÐDÐDÕDÔDˆ8ÑDÔDÐDÕDÔDˆ8ÑDÔDÐDÐDÕDÔDÐ.ÑDÔDÐDÕDÔDÑDÔDÐDÐDÕDÔDÐ2DÑDÔDÐDÕDÔDÐ2DÑDÔDÐDÐDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDÐDÐDr   r   c                 óÔ
  — |                       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
         }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         }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         }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 ¦   «         }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	S )%u<   Kiá»ƒm tra API láº¥y danh sÃ¡ch 26 khÃ¡ch hÃ ng ná»£ TK 131.z/v1/erp/finance/receivableséÈ   rI   ©z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sr@   rv   rw   r'   NÚaccount_codeÚ131rK   rL   rM   rN   Ú	debt_typeÚ
receivableÚitemsrP   ©z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sÚlenrx   rS   rT   Úsummaryr�   c                 ó   — g | ]
}|d          ‘ŒS ©Úpartner_coder   ©Ú.0Úitems     r   ú
<listcomp>z1test_api_receivables_endpoint.<locals>.<listcomp>t   ó   € ÐDÐDÐD¨d�T˜.Ô)ÐDÐDÐDr   u   THá»¦Y Lá»¢I Ä�A Ä�á»˜r=   r?   Úpartner_codesrA   rD   r&   ÚRANGDONGÚAVN©ÚgetÚstatus_coder/   ra   r-   r.   r0   r1   r2   r3   Újsonr˜   ©r   r@   r6   ri   r7   re   r9   Údatarb   rc   rg   rh   r8   rˆ   rj   r¢   rd   s                    r   Útest_api_receivables_endpointr«   j   sg  € à
�/Š/Ð7Ñ
8Ô
8€CØŒ?Ð!˜cÐ!ˆ?˜cÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ?˜cÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ?Ñ!Ô!Õ!Ô!˜cÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø�8Š8‰:Œ:€DØ�ÔÐ( 5Ð(Ð 5Ò(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð 5Ð(Ñ(Ô(Õ(Ô(ÐÑ(Ô(Õ(Ô( 5Ñ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ø�ÔÐ, Ð,Ð Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð Ð,Ñ,Ô,Õ,Ô,ÐÑ,Ô,Õ,Ô, Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø�GŒ}Ð#�3ˆ}ÑÔÐ# Ð#Ð Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�3Ñ#Ô#Ð#Õ#Ô#�3Ñ#Ô#Ð#Ð#Õ#Ô#ˆ}Ñ#Ô#Õ#Ô#ÐÑ#Ô#Õ#Ô# Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø�	Œ?Ð+Ô,Ð2°Ð2Ð,°Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð,°Ð2Ñ2Ô2Õ2Ô2Ð,Ñ2Ô2Õ2Ô2°Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2àDÐD°d¸7´mÐDÑDÔD€MØ#Ð4Ð# }Ð4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð# }Ð4Ñ4Ô4Õ4Ô4Ð#Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4 }Ñ4Ô4Ð4Õ4Ô4 }Ñ4Ô4Ð4Ð4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4ØÐ&ˆ:˜Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ:˜Ð&Ñ&Ô&Õ&Ô&ˆ:Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&˜Ñ&Ô&Ð&Õ&Ô&˜Ñ&Ô&Ð&Ð&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&ØÐ!ˆ5�MÐ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ5�MÐ!Ñ!Ô!Õ!Ô!ˆ5Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!�MÑ!Ô!Ð!Õ!Ô!�MÑ!Ô!Ð!Ð!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!r   c                 óÔ
  — |                       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
         }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         }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         }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 ¦   «         }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	S )%u?   Kiá»ƒm tra API láº¥y danh sÃ¡ch 35 nhÃ  cung cáº¥p ná»£ TK 331.z/v1/erp/finance/payablesr�   rI   r‘   r@   rv   rw   r'   Nr’   Ú331rK   rL   rM   rN   r”   Úpayabler–   rW   r—   r˜   rx   rS   rT   r™   r�   c                 ó   — g | ]
}|d          ‘ŒS r›   r   r�   s     r   r    z.test_api_payables_endpoint.<locals>.<listcomp>„   r¡   r   z	ANH QUANGr=   r?   r¢   rA   rD   r&   z
THACO AUTOÚ	TRUNGKIENr¥   r©   s                    r   Útest_api_payables_endpointr±   z   sd  € à
�/Š/Ð4Ñ
5Ô
5€CØŒ?Ð!˜cÐ!ˆ?˜cÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ?˜cÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ?Ñ!Ô!Õ!Ô!˜cÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø�8Š8‰:Œ:€DØ�ÔÐ( 5Ð(Ð 5Ò(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð 5Ð(Ñ(Ô(Õ(Ô(ÐÑ(Ô(Õ(Ô( 5Ñ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ø�ÔÐ) 	Ð)Ð 	Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð 	Ð)Ñ)Ô)Õ)Ô)ÐÑ)Ô)Õ)Ô) 	Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø�GŒ}Ð#�3ˆ}ÑÔÐ# Ð#Ð Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�3Ñ#Ô#Ð#Õ#Ô#�3Ñ#Ô#Ð#Ð#Õ#Ô#ˆ}Ñ#Ô#Õ#Ô#ÐÑ#Ô#Õ#Ô# Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø�	Œ?Ð+Ô,Ð2°Ð2Ð,°Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð,°Ð2Ñ2Ô2Õ2Ô2Ð,Ñ2Ô2Õ2Ô2°Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2àDÐD°d¸7´mÐDÑDÔD€MØÐ'ˆ;˜-Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'ˆ;˜-Ð'Ñ'Ô'Õ'Ô'ˆ;Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'˜-Ñ'Ô'Ð'Õ'Ô'˜-Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'ØÐ(ˆ<˜=Ð(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(ˆ<˜=Ð(Ñ(Ô(Õ(Ô(ˆ<Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(˜=Ñ(Ô(Ð(Õ(Ô(˜=Ñ(Ô(Ð(Ð(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(ØÐ'ˆ;˜-Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'ˆ;˜-Ð'Ñ'Ô'Õ'Ô'ˆ;Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'˜-Ñ'Ô'Ð'Õ'Ô'˜-Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r   c                 ó¢
  — |                       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
         }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         }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 ¦   «         }d„ |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}}d„ |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}}d„ |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}}d„ |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}}d	S )uR   Kiá»ƒm tra API láº¥y danh má»¥c 11 tÃ i sáº£n cá»‘ Ä‘á»‹nh vÃ  hao mÃ²n lÅ©y káº¿.z/v1/erp/finance/fixed-assetsr�   rI   r‘   r@   rv   rw   r'   Nr–   r[   r—   r˜   rx   rS   rT   r™   r„   rK   rL   rM   rN   c                 ó   — g | ]
}|d          ‘ŒS )Ú
asset_coder   r�   s     r   r    z2test_api_fixed_assets_endpoint.<locals>.<listcomp>’   s   € Ð@Ð@Ð@¨$�4˜Ô%Ð@Ð@Ð@r   c              3   ó   K  — | ]}d |v V — Œ	dS )zPC200-7Nr   ©rž   Úcs     r   ú	<genexpr>z1test_api_fixed_assets_endpoint.<locals>.<genexpr>“   ó&   è è € Ð3Ð3 !ˆy˜Aˆ~Ð3Ð3Ð3Ð3Ð3Ð3r   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úanyrz   c              3   ó   K  — | ]}d |v V — Œ	dS )z	15H-10624Nr   r¶   s     r   r¸   z1test_api_fixed_assets_endpoint.<locals>.<genexpr>”   ó'   è è € Ð5Ð5 Aˆ{˜aÐÐ5Ð5Ð5Ð5Ð5Ð5r   c              3   ó   K  — | ]}d |v V — Œ	dS )z	15H-28352Nr   r¶   s     r   r¸   z1test_api_fixed_assets_endpoint.<locals>.<genexpr>•   r¼   r   c              3   ó   K  — | ]}d |v V — Œ	dS )ÚPC300LCNr   r¶   s     r   r¸   z1test_api_fixed_assets_endpoint.<locals>.<genexpr>–   r¹   r   )r¦   r§   r/   ra   r-   r.   r0   r1   r2   r3   r¨   r˜   rº   )r   r@   r6   ri   r7   re   r9   rª   r8   rˆ   rj   rb   rc   rg   rh   Úasset_codess                   r   Útest_api_fixed_assets_endpointrÁ   Š   s£  € à
�/Š/Ð8Ñ
9Ô
9€CØŒ?Ð!˜cÐ!ˆ?˜cÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ?˜cÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ?Ñ!Ô!Õ!Ô!˜cÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø�8Š8‰:Œ:€DØ�GŒ}Ð#�3ˆ}ÑÔÐ# Ð#Ð Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�3Ñ#Ô#Ð#Õ#Ô#�3Ñ#Ô#Ð#Ð#Õ#Ô#ˆ}Ñ#Ô#Õ#Ô#ÐÑ#Ô#Õ#Ô# Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø�	Œ?˜>Ô*Ð0¨bÐ0Ð*¨bÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð*¨bÐ0Ñ0Ô0Õ0Ô0Ð*Ñ0Ô0Õ0Ô0¨bÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0à@Ð@°$°w´-Ð@Ñ@Ô@€KØ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Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ø5Ð5¨Ð5Ñ5Ô5Ð5�3Ð5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�3Ñ5Ô5Ð5Õ5Ô5�3Ñ5Ô5Ð5Ð5Õ5Ô5Ð5Ñ5Ô5Õ5Ô5Ð5Ñ5Ô5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ø5Ð5¨Ð5Ñ5Ô5Ð5�3Ð5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�3Ñ5Ô5Ð5Õ5Ô5�3Ñ5Ô5Ð5Ð5Õ5Ô5Ð5Ñ5Ô5Õ5Ô5Ð5Ñ5Ô5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ø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Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3r   c           	      ó  — | j         }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}x}x}x}}| j         }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}x}x}x}}|                       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	S )u.   Kiá»ƒm tra validation tÃ i khoáº£n há»£p lá»‡.z,/v1/erp/finance/debt-ledger?account_code=131r�   rI   )zk%(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
}.status_code
} == %(py11)sr   )r#   r$   r%   rN   rr   Úpy11zassert %(py13)sÚpy13Nz,/v1/erp/finance/debt-ledger?account_code=331z,/v1/erp/finance/debt-ledger?account_code=999i�  r‘   Úbad_resrv   rw   r'   ©
r¦   r§   r/   ra   r-   r.   r0   r1   r2   r3   )r   r6   r7   rˆ   r‰   Ú@py_assert10rŠ   Ú@py_format12Ú@py_format14rÅ   ri   re   r9   s                r   Útest_api_debt_ledger_validationrÊ   ™   s�  € ð Œ?Ð]ÐIÐ]ˆ?ˆ?ÐIÑJÔJÐ]ÐJÔVÐ]ÐZ]Ð]ÐVÐZ]Ò]Ð]Ð]Ð]Õ]Ô]Ð]Ð]Ð]Ð]ÐVÐZ]Ð]Ñ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]ˆ;Ñ]Ô]Ð]Õ]Ô]ˆ;Ñ]Ô]Ð]Ð]Õ]Ô]ˆ?Ñ]Ô]Õ]Ô]ÐIÑ]Ô]Õ]Ô]ÐJÑ]Ô]Õ]Ô]ÐVÑ]Ô]Õ]Ô]ÐZ]Ñ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Õ]Õ]Ô]Ð]Ñ]Ô]Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]ØŒ?Ð]ÐIÐ]ˆ?ˆ?ÐIÑJÔJÐ]ÐJÔVÐ]ÐZ]Ð]ÐVÐZ]Ò]Ð]Ð]Ð]Õ]Ô]Ð]Ð]Ð]Ð]ÐVÐZ]Ð]Ñ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]ˆ;Ñ]Ô]Ð]Õ]Ô]ˆ;Ñ]Ô]Ð]Ð]Õ]Ô]ˆ?Ñ]Ô]Õ]Ô]ÐIÑ]Ô]Õ]Ô]ÐJÑ]Ô]Õ]Ô]ÐVÑ]Ô]Õ]Ô]ÐZ]Ñ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Õ]Õ]Ô]Ð]Ñ]Ô]Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]ð �oŠoÐLÑMÔM€GØÔÐ% #Ð%Ð #Ò%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð #Ð%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%ˆ7Ñ%Ô%Ð%Õ%Ô%ˆ7Ñ%Ô%Ð%Ð%Õ%Ô%ÐÑ%Ô%Õ%Ô% #Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%r   r   c                 ó²  — |                       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	S )
u3   Kiá»ƒm tra cháº·n truy cáº­p khi chÆ°a xÃ¡c thá»±c.z%/v1/erp/finance/consolidated-overviewi‘  rI   r‘   r@   rv   rw   r'   NrÆ   )r   r@   r6   ri   r7   re   r9   s          r   Ú'test_api_unauthenticated_access_blockedrÌ   ¤   sù   € à
×
Ò
ÐCÑ
DÔ
D€CØŒ?Ð!˜cÐ!ˆ?˜cÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ?˜cÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ?Ñ!Ô!Õ!Ô!˜cÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!r   c                 ó   — t           j                             t          d¦  «        }t           j        }|j        } ||¦  «        }|sæddt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}t           j        }|j        }t           j        }|j        }d} |||¦  «        } ||¦  «        }	|	�szddt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |	¦  «        d	œ
z  }
t          t          j        |
¦  «        ¦  «        ‚dx}x}x}x}x}x}}	t           j        }|j        }t           j        }|j        }d
} |||¦  «        } ||¦  «        }	|	�szddt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |	¦  «        d	œ
z  }
t          t          j        |
¦  «        ¦  «        ‚dx}x}x}x}x}x}}	t           j        }|j        }t           j        }|j        }d} |||¦  «        } ||¦  «        }	|	�szddt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |	¦  «        d	œ
z  }
t          t          j        |
¦  «        ¦  «        ‚dx}x}x}x}x}x}}	t           j        }|j        }t           j        }|j        }d} |||¦  «        } ||¦  «        }	|	�szddt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j	        t           ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |	¦  «        d	œ
z  }
t          t          j        |
¦  «        ¦  «        ‚dx}x}x}x}x}x}}	|                      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         }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         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          d#         }t#          |¦  «        }t%          |¦  «        }d$}t%          |¦  «        }||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        t"          ¦  «        rt          j	        t"          ¦  «        nd't          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        d&t          j        ¦   «         v st          j        t$          ¦  «        rt          j	        t$          ¦  «        nd&t          j	        |¦  «        t          j	        |¦  «        d(œz  }d)d*|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}|d+         }t#          |¦  «        }t%          |¦  «        }d,}t%          |¦  «        }||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        t"          ¦  «        rt          j	        t"          ¦  «        nd't          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        d&t          j        ¦   «         v st          j        t$          ¦  «        rt          j	        t$          ¦  «        nd&t          j	        |¦  «        t          j	        |¦  «        d(œz  }d)d*|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}x}}dS )-u=   Kiá»ƒm tra sá»• sÃ¡ch vÃ  API QuÃ½ 2/2026 (má»‘c 30/06/2026).ÚQ2r    r!   Úq2_dirr"   Nz(Tong_hop_cong_no_phai_thu 30.6.2026.xlsxzÃassert %(py16)s
{%(py16)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.exists
}(%(py14)s
{%(py14)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s.path
}.join
}(%(py10)s, %(py12)s)
})
})
r#   r$   r%   r&   r'   rT   rs   rt   ru   Úpy16z(Tong_hop_cong_no_phai_tra 30.6.2026.xlsxzSo_tai_san_co_dinh Q2.2026.xlsxz-So_theo_doi_vay_ngan_hang_VPBank_Q2.2026.xlsxz;/v1/erp/finance/consolidated-overview?as_of_date=2026-06-30r�   rI   r‘   r@   rv   rw   r'   r~   z
2026-06-30rK   rL   rM   rN   r€   r�   é!   r‚   éG   rƒ   r„   é   r\   z11433443334.0000)zo%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py1)s(%(py3)s)
})
} == %(py13)s
{%(py13)s = %(py9)s(%(py11)s)
}r   Ústr)r#   rB   rC   r&   r'   rT   rÃ   rÄ   zassert %(py15)sÚpy15r‡   z2092824005.0000)r!   r+   r4   r   r,   r-   r.   r/   r0   r1   r2   r3   r5   r¦   r§   ra   r¨   rÔ   r   )r   rÏ   r6   r7   r8   r9   Ú@py_assert8r‹   Ú@py_assert13Ú@py_assert15Ú@py_format17r@   ri   re   rª   rb   rc   rg   rh   rÇ   Ú@py_assert12rÉ   Ú@py_format16s                          r   Útest_q2_ledgers_and_apirÜ   ª   s.  € åŒW�\Š\Õ0°$Ñ7Ô7€FÝŒ7Ð ˆ7Œ=Ð ˆ=ˆ=˜Ñ Ô Ð Ð Ð Ð Ð Õ Ô Ñ Ô Ð Ð Õ Ô �2Ñ Ô Ð Õ Ô �2Ñ Ô Ð Ð Õ Ô ˆ7Ñ Ô Õ Ô ˆ=Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˜Ñ Ô Ð Õ Ô ˜Ñ Ô Ð Ð Õ Ô Ð Ñ Ô Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ÝŒ7Ð[ˆ7Œ>Ð[�"œ'Ð[˜'œ,Ð[Ð/YÐ[˜,˜, vÐ/YÑZÔZÐ[ˆ>ˆ>ÐZÑ[Ô[Ð[Ð[Ñ[Ð[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[�2Ñ[Ô[Ð[Õ[Ô[�2Ñ[Ô[Ð[Ð[Õ[Ô[ˆ7Ñ[Ô[Õ[Ô[ˆ>Ñ[Ô[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[�"Ñ[Ô[Ð[Õ[Ô[�"Ñ[Ô[Ð[Ð[Õ[Ô[˜'Ñ[Ô[Õ[Ô[˜,Ñ[Ô[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[ vÑ[Ô[Ð[Õ[Ô[ vÑ[Ô[Ð[Ð[Õ[Ô[Ð/YÑ[Ô[Õ[Ô[ÐZÑ[Ô[Õ[Ô[Ð[Ñ[Ô[Ð[Ð[Ñ[Ð[Õ[Õ[Ô[Ð[Ñ[Ô[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[ÝŒ7Ð[ˆ7Œ>Ð[�"œ'Ð[˜'œ,Ð[Ð/YÐ[˜,˜, vÐ/YÑZÔZÐ[ˆ>ˆ>ÐZÑ[Ô[Ð[Ð[Ñ[Ð[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[�2Ñ[Ô[Ð[Õ[Ô[�2Ñ[Ô[Ð[Ð[Õ[Ô[ˆ7Ñ[Ô[Õ[Ô[ˆ>Ñ[Ô[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[�"Ñ[Ô[Ð[Õ[Ô[�"Ñ[Ô[Ð[Ð[Õ[Ô[˜'Ñ[Ô[Õ[Ô[˜,Ñ[Ô[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[ vÑ[Ô[Ð[Õ[Ô[ vÑ[Ô[Ð[Ð[Õ[Ô[Ð/YÑ[Ô[Õ[Ô[ÐZÑ[Ô[Õ[Ô[Ð[Ñ[Ô[Ð[Ð[Ñ[Ð[Õ[Õ[Ô[Ð[Ñ[Ô[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[ÝŒ7ÐRˆ7Œ>ÐR�"œ'ÐR˜'œ,ÐRÐ/PÐR˜,˜, vÐ/PÑQÔQÐRˆ>ˆ>ÐQÑRÔRÐRÐRÑRÐRÐRÕRÔRÑRÔRÐRÐRÕRÔR�2ÑRÔRÐRÕRÔR�2ÑRÔRÐRÐRÕRÔRˆ7ÑRÔRÕRÔRˆ>ÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔR�"ÑRÔRÐRÕRÔR�"ÑRÔRÐRÐRÕRÔR˜'ÑRÔRÕRÔR˜,ÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔR vÑRÔRÐRÕRÔR vÑRÔRÐRÐRÕRÔRÐ/PÑRÔRÕRÔRÐQÑRÔRÕRÔRÐRÑRÔRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÝŒ7Ð`ˆ7Œ>Ð`�"œ'Ð`˜'œ,Ð`Ð/^Ð`˜,˜, vÐ/^Ñ_Ô_Ð`ˆ>ˆ>Ð_Ñ`Ô`Ð`Ð`Ñ`Ð`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô`�2Ñ`Ô`Ð`Õ`Ô`�2Ñ`Ô`Ð`Ð`Õ`Ô`ˆ7Ñ`Ô`Õ`Ô`ˆ>Ñ`Ô`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô`�"Ñ`Ô`Ð`Õ`Ô`�"Ñ`Ô`Ð`Ð`Õ`Ô`˜'Ñ`Ô`Õ`Ô`˜,Ñ`Ô`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô` vÑ`Ô`Ð`Õ`Ô` vÑ`Ô`Ð`Ð`Õ`Ô`Ð/^Ñ`Ô`Õ`Ô`Ð_Ñ`Ô`Õ`Ô`Ð`Ñ`Ô`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`ð �/Š/ÐWÑ
XÔ
X€CØŒ?Ð!˜cÐ!ˆ?˜cÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ?˜cÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ?Ñ!Ô!Õ!Ô!˜cÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø�8Š8‰:Œ:€DØ�ÔÐ- Ð-Ð Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð Ð-Ñ-Ô-Õ-Ô-ÐÑ-Ô-Õ-Ô- Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ØÐ%Ô&Ð'7Ô8Ð>¸BÐ>Ð8¸BÒ>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð8¸BÐ>Ñ>Ô>Õ>Ô>Ð8Ñ>Ô>Õ>Ô>¸BÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ØÐ"Ô#Ð$4Ô5Ð;¸Ð;Ð5¸Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð5¸Ð;Ñ;Ô;Õ;Ô;Ð5Ñ;Ô;Õ;Ô;¸Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ØÐ&Ô'¨Ô7Ð=¸2Ð=Ð7¸2Ò=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð7¸2Ð=Ñ=Ô=Õ=Ô=Ð7Ñ=Ô=Õ=Ô=¸2Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ØÐ2Ô3Ð4MÔNÐo•3ÐNÑOÔOÐo�7ÐOÑPÔPÐoÐ\nÐoÕT[Ð\nÑToÔToÐoÐPÐToÒoÐoÐoÑoÕoÔoÐoÐoÐoÐoÐPÐToÐoÑoÔoÐoÕoÔoÑoÔoÐoÐoÕoÔo�7ÑoÔoÐoÕoÔo�7ÑoÔoÐoÐoÐoÕoÔoÑoÔoÐoÐoÕoÔo•3ÑoÔoÐoÕoÔo•3ÑoÔoÐoÐoÕoÔoÐNÑoÔoÕoÔoÐOÑoÔoÕoÔoÐPÑoÔoÐoÕoÔoÑoÔoÐoÐoÕoÔoÕT[ÑoÔoÐoÕoÔoÕT[ÑoÔoÐoÐoÕoÔoÐ\nÑoÔoÕoÔoÐToÑoÔoÐoÐoÑoÐoÐoÐoÐoÐoÑoÐoÕoÕoÔoÐoÑoÔoÑoÔoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoØÐ8Ô9ÐY•3Ð9Ñ:Ô:ÐY�7Ð:Ñ;Ô;ÐYÐGXÐY½wÐGXÑ?YÔ?YÐYÐ;Ð?YÒYÐYÐYÑYÕYÔYÐYÐYÐYÐYÐ;Ð?YÐYÑYÔYÐYÕYÔYÑYÔYÐYÐYÕYÔY�7ÑYÔYÐYÕYÔY�7ÑYÔYÐYÐYÐYÕYÔYÑYÔYÐYÐYÕYÔY•3ÑYÔYÐYÕYÔY•3ÑYÔYÐYÐYÕYÔYÐ9ÑYÔYÕYÔYÐ:ÑYÔYÕYÔYÐ;ÑYÔYÐYÕYÔYÑYÔYÐYÐYÕYÔY½wÑYÔYÐYÕYÔY½wÑYÔYÐYÐYÕYÔYÐGXÑYÔYÕYÔYÐ?YÑYÔYÐYÐYÑYÐYÐYÐYÐYÐYÑYÐYÕYÕYÔYÐYÑYÔYÑYÔYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYÐYr   )#Ú__doc__Úbuiltinsr-   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter/   Údatetimer   Údecimalr   r!   ÚpytestÚfastapi.testclientr   Úapp.mainr   Ú"app.modules.auth.presentation.authr   Ú:app.modules.financial.application.debt_ledger_sync_servicer   r	   Úfixturer   r   r   r:   rm   rŽ   r«   r±   rÁ   rÊ   rÌ   rÜ   r   r   r   ú<module>rê      s:  ðØ hÐ hà  € € € € € € € € € € € € Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø €€€Ø )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ð Ð Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð „ð#Ð+ð #ð #ð #ñ „ð#ð „ð�Zð ð ð ñ „ðð „ð�zð ð ð ñ „ðð
	 ð 	 ð 	 ðCÐ6Kð Cð Cð Cð Cð<EÐ9Nð Eð Eð Eð Eð0"¨zð "ð "ð "ð "ð (¨Jð (ð (ð (ð (ð 4°
ð 4ð 4ð 4ð 4ð&°ð &ð &ð &ð &ð"¸:ð "ð "ð "ð "ðZ¨ð Zð Zð Zð Zð Zð Zr   