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
59 lines
2.8 KiB
Plaintext
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
|