Files
comun/utile/Teste/partener_anaf/mock_verifica_partener_show_info.prg
Marius Mutu 019d241e50 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
2026-08-23 21:22:56 +03:00

59 lines
2.8 KiB
Plaintext

* mock_verifica_partener_show_info.prg - inlocuieste FUNCTION verifica_partener_show_info
* (COMUN\programe\oproceduri_comune.prg:4767) in teste headless.
*
* DE CE UN MOCK SEPARAT, cand exista deja mock_amessagebox.prg: functia reala se termina cu
* `amessagebox(lcText, ...)`, iar acel apel pleaca DIN oproceduri_comune.prg, adica din acelasi
* fisier in care e definita si FUNCTION amessagebox. Mock-ul de messagebox nu acopera sigur
* apelurile intra-fisier, deci dialogul de confirmare "Doriti sa se completeze datele in
* formular?" ramanea modal si bloca rularea headless (masurat: proba se opreste pe primul CIF).
* Aici se inlocuieste direct wrapper-ul de dialog - tot infrastructura, nu un pas al fluxului
* testat: functia reala doar formateaza un text si intoarce raspunsul utilizatorului.
*
* Se incarca cu SET PROCEDURE ... ADDITIVE **INAINTEA** fisierelor aplicatiei: la nume duplicat
* de FUNCTION, VFP foloseste fisierul cautat PRIMUL (vezi COMUN\docs\testare-ui-vfp.md capcana g).
*
* Raspunsul intors: gnMockRaspunsShowInfo daca e declarata PUBLIC, altfel 6 (Da).
* Efect secundar util testelor: datele BRUTE primite de la ANAF (inainte de potrivirea peste
* nomenclator) se depun in variabilele publice de mai jos, daca testul le-a declarat ca string:
* gcMockAnafJudet, gcMockAnafLocalitate, gcMockAnafAdresa, gcMockAnafFirma
* plus contorul gnMockShowInfoApeluri (numeric), daca e declarat.
FUNCTION verifica_partener_show_info
LPARAMETERS toPartenerVerificare, tcCodFiscal, tcDenumire, tcMesajIntrebare
LOCAL lnRaspuns
IF TYPE('gnMockShowInfoApeluri') = 'N'
gnMockShowInfoApeluri = gnMockShowInfoApeluri + 1
ENDIF
IF VARTYPE(m.toPartenerVerificare) = 'O'
IF TYPE('gcMockAnafJudet') = 'C'
gcMockAnafJudet = IIF(PEMSTATUS(m.toPartenerVerificare, 'judet', 5), ;
ALLTRIM(NVL(toPartenerVerificare.judet, '')), '')
ENDIF
IF TYPE('gcMockAnafLocalitate') = 'C'
gcMockAnafLocalitate = IIF(PEMSTATUS(m.toPartenerVerificare, 'localitate', 5), ;
ALLTRIM(NVL(toPartenerVerificare.localitate, '')), '')
ENDIF
IF TYPE('gcMockAnafAdresa') = 'C'
gcMockAnafAdresa = IIF(PEMSTATUS(m.toPartenerVerificare, 'adresa', 5), ;
ALLTRIM(NVL(toPartenerVerificare.adresa, '')), '')
ENDIF
IF TYPE('gcMockAnafFirma') = 'C'
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)
RETURN m.lnRaspuns
ENDFUNC