teste ANAF: verificari pentru preluarea codului CAEN si a reviziei
Testul sintetic acopera CaenAnaf (completarea zeroului din fata, valori neplauzibile) si CaenRevizie (format nou/vechi de numar de registru): 42 -> 53 verificari. Proba e2e goleste caen/caen_revizie inainte de rulare si le verifica dupa, cu contoare SEPARATE de judet/localitate ca cifrele masurate in rundele anterioare sa ramana comparabile. Mock-ul de dialog expune acum si codul CAEN si numarul de registru brute de la ANAF. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015husoVS24ewJZr21ZoVR3v
This commit is contained in:
@@ -43,6 +43,14 @@ FUNCTION verifica_partener_show_info
|
||||
gcMockAnafFirma = IIF(PEMSTATUS(m.toPartenerVerificare, 'firma', 5), ;
|
||||
ALLTRIM(NVL(toPartenerVerificare.firma, '')), '')
|
||||
ENDIF
|
||||
IF TYPE('gcMockAnafCaen') = 'C'
|
||||
gcMockAnafCaen = IIF(PEMSTATUS(m.toPartenerVerificare, 'caen', 5), ;
|
||||
ALLTRIM(NVL(toPartenerVerificare.caen, '')), '')
|
||||
ENDIF
|
||||
IF TYPE('gcMockAnafRegCom') = 'C'
|
||||
gcMockAnafRegCom = IIF(PEMSTATUS(m.toPartenerVerificare, 'regcom', 5), ;
|
||||
ALLTRIM(NVL(toPartenerVerificare.regcom, '')), '')
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
lnRaspuns = IIF(TYPE('gnMockRaspunsShowInfo') = 'N', gnMockRaspunsShowInfo, 6)
|
||||
|
||||
@@ -32,7 +32,8 @@ SET TALK OFF
|
||||
PUBLIC gcLogE2E, gnOk, gnEsec, gnSarite, gnE2ELimita, goNomE2E, ;
|
||||
gnMockRaspuns, gcMockUltimMesaj, gnMockUltimTip, ;
|
||||
gnMockRaspunsShowInfo, gnMockShowInfoApeluri, ;
|
||||
gcMockAnafJudet, gcMockAnafLocalitate, gcMockAnafAdresa, gcMockAnafFirma
|
||||
gcMockAnafJudet, gcMockAnafLocalitate, gcMockAnafAdresa, gcMockAnafFirma, ;
|
||||
gcMockAnafCaen, gcMockAnafRegCom, gnCaenOk, gnCaenLipsa, gnRevizie3
|
||||
gcLogE2E = ADDBS(JUSTPATH(SYS(16, 0))) + 'test_e2e_anaf_firma_log.txt'
|
||||
IF EMPTY(JUSTPATH(SYS(16, 0)))
|
||||
gcLogE2E = 'D:\ROA\ROADEF\COMUN\utile\Teste\partener_anaf\test_e2e_anaf_firma_log.txt'
|
||||
@@ -40,6 +41,9 @@ ENDIF
|
||||
gnOk = 0
|
||||
gnEsec = 0
|
||||
gnSarite = 0
|
||||
gnCaenOk = 0
|
||||
gnCaenLipsa = 0
|
||||
gnRevizie3 = 0
|
||||
* cate coduri se ruleaza: implicit 8, sau variabila de mediu E2E_LIMITA (ex. 200 pentru
|
||||
* o masuratoare completa) - vfp9.exe nu poate primi parametri pentru scriptul din -T
|
||||
gnE2ELimita = IIF(VAL(GETENV('E2E_LIMITA')) > 0, INT(VAL(GETENV('E2E_LIMITA'))), 8)
|
||||
@@ -54,6 +58,8 @@ gcMockAnafJudet = ''
|
||||
gcMockAnafLocalitate = ''
|
||||
gcMockAnafAdresa = ''
|
||||
gcMockAnafFirma = ''
|
||||
gcMockAnafCaen = ''
|
||||
gcMockAnafRegCom = ''
|
||||
|
||||
STRTOFILE('START test_e2e_anaf_firma ' + TTOC(DATETIME()) + CHR(13) + CHR(10), gcLogE2E)
|
||||
|
||||
@@ -176,6 +182,13 @@ FOR lnI = 1 TO m.lnTotalCoduri
|
||||
poRec.localitate = ''
|
||||
poRec.id_loc = .NULL.
|
||||
poRec.adresa = ''
|
||||
* CAEN-ul si revizia: golite ca sa nu confundam o valoare veche cu una preluata acum
|
||||
IF TYPE('poRec.caen') <> 'U'
|
||||
poRec.caen = ''
|
||||
ENDIF
|
||||
IF TYPE('poRec.caen_revizie') <> 'U'
|
||||
poRec.caen_revizie = ''
|
||||
ENDIF
|
||||
IF TYPE('poRec.modificare_schema') = 'U'
|
||||
ADDPROPERTY(poRec, 'modificare_schema', 0)
|
||||
ENDIF
|
||||
@@ -185,6 +198,8 @@ FOR lnI = 1 TO m.lnTotalCoduri
|
||||
gcMockAnafLocalitate = ''
|
||||
gcMockAnafAdresa = ''
|
||||
gcMockAnafFirma = ''
|
||||
gcMockAnafCaen = ''
|
||||
gcMockAnafRegCom = ''
|
||||
gnMockShowInfoApeluri = 0
|
||||
|
||||
llFrmOk = .F.
|
||||
@@ -235,6 +250,27 @@ FOR lnI = 1 TO m.lnTotalCoduri
|
||||
llOkLoc = !EMPTY(m.lcLoc) AND !('<ALEGETI' $ UPPER(m.lcLoc)) AND m.lnIdLoc > 0 ;
|
||||
AND E2EPotrivit(m.lcLoc, m.lcLocAnaf)
|
||||
|
||||
* CAEN: contorizat SEPARAT de judet/localitate, ca sa ramana comparabile
|
||||
* cifrele masurate in rundele anterioare (997/1000)
|
||||
IF !EMPTY(gcMockAnafCaen)
|
||||
IF ALLTRIM(NVL(poRec.caen, '')) == ALLTRIM(gcMockAnafCaen)
|
||||
gnCaenOk = gnCaenOk + 1
|
||||
ELSE
|
||||
gnCaenLipsa = gnCaenLipsa + 1
|
||||
DO E2ELog WITH 'CIF ' + m.lcCod + ' -> CAEN NEPRELUAT: ANAF[' + ;
|
||||
gcMockAnafCaen + '] formular[' + ALLTRIM(NVL(poRec.caen, '')) + ']'
|
||||
ENDIF
|
||||
* revizia 3 se pune doar cand numarul de registru e in formatul nou
|
||||
IF !('/' $ gcMockAnafRegCom) AND !EMPTY(gcMockAnafRegCom)
|
||||
IF ALLTRIM(NVL(poRec.caen_revizie, '')) == '3'
|
||||
gnRevizie3 = gnRevizie3 + 1
|
||||
ELSE
|
||||
DO E2ELog WITH 'CIF ' + m.lcCod + ' -> REVIZIE GRESITA: regcom[' + ;
|
||||
gcMockAnafRegCom + '] revizie[' + ALLTRIM(NVL(poRec.caen_revizie, '')) + '] asteptat 3'
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
lcDetaliu = 'ANAF[jud=' + m.lcJudAnaf + ' loc=' + m.lcLocAnaf + ']' + ;
|
||||
' -> NOM[judet=' + m.lcJudet + ' id_judet=' + TRANSFORM(m.lnIdJudet) + ;
|
||||
' localitate=' + m.lcLoc + ' id_loc=' + TRANSFORM(m.lnIdLoc) + ']'
|
||||
@@ -261,6 +297,8 @@ ENDFOR
|
||||
DO E2ELog WITH REPLICATE('-', 110)
|
||||
DO E2ELog WITH 'TOTAL: ' + TRANSFORM(gnOk) + ' ok, ' + TRANSFORM(gnEsec) + ' esec, ' + ;
|
||||
TRANSFORM(gnSarite) + ' sarite (fara raspuns ANAF), din ' + TRANSFORM(m.lnRulate) + ' coduri rulate'
|
||||
DO E2ELog WITH 'CAEN : ' + TRANSFORM(gnCaenOk) + ' preluat corect, ' + TRANSFORM(gnCaenLipsa) + ;
|
||||
' nepreluat; revizia 3 pusa pe ' + TRANSFORM(gnRevizie3) + ' firme cu numar de registru in format nou'
|
||||
DO E2ELog WITH 'REZULTAT: ' + IIF(gnEsec = 0, 'TOATE OK', 'AU FOST ESECURI') + ' ' + TTOC(DATETIME())
|
||||
QUIT
|
||||
|
||||
|
||||
@@ -136,11 +136,26 @@ Verif("omonime fuzzy fara comuna refuzate", ;
|
||||
Transform(loN.pozitioneaza_localitate("crsLocT", "SARBI")), ".F.")
|
||||
Verif("loc inexistent", Transform(loN.pozitioneaza_localitate("crsLocT", "ATLANTIDA")), ".F.")
|
||||
|
||||
*** --- CaenAnaf: ANAF trimite codul NUMERIC, deci sectiunea agricultura pierde zeroul din fata ---
|
||||
Verif("caen 4 cifre nemodificat", loV.CaenAnaf(6201), "6201")
|
||||
Verif("caen 3 cifre completat", loV.CaenAnaf(141), "0141")
|
||||
Verif("caen 3 cifre completat 2", loV.CaenAnaf(111), "0111")
|
||||
Verif("caen primit ca text", loV.CaenAnaf("4711"), "4711")
|
||||
Verif("caen gol", loV.CaenAnaf(""), "")
|
||||
Verif("caen zero", loV.CaenAnaf(0), "")
|
||||
Verif("caen prea lung refuzat", loV.CaenAnaf(62011), "")
|
||||
|
||||
*** --- CaenRevizie: numar de registru in format NOU (fara '/') <=> cod CAEN revizia 3 ---
|
||||
Verif("revizie format nou", loV.CaenRevizie("J2017000999304"), "3")
|
||||
Verif("revizie format nou F", loV.CaenRevizie("F1993000063034"), "3")
|
||||
Verif("revizie format vechi", loV.CaenRevizie("J13/626/1991"), "")
|
||||
Verif("revizie fara numar", loV.CaenRevizie(""), "")
|
||||
|
||||
*** On Error continua executia, deci o verificare sarita (obiect neinstantiat) nu s-ar vedea
|
||||
*** in numarul de esecuri; se verifica explicit ca au rulat toate.
|
||||
If m.gnOk + m.gnNok # 42
|
||||
If m.gnOk + m.gnNok # 53
|
||||
gnNok = m.gnNok + 1
|
||||
Strtofile("ESEC au rulat doar " + Transform(m.gnOk + m.gnNok) + " verificari din 42" + Chr(13) + Chr(10), m.gcLog, .T.)
|
||||
Strtofile("ESEC au rulat doar " + Transform(m.gnOk + m.gnNok) + " verificari din 53" + Chr(13) + Chr(10), m.gcLog, .T.)
|
||||
Endif
|
||||
Strtofile("TOTAL: " + Transform(m.gnOk) + " ok, " + Transform(m.gnNok) + " esec" + Chr(13) + Chr(10), m.gcLog, .T.)
|
||||
Quit
|
||||
|
||||
Reference in New Issue
Block a user