teste ANAF nomenclator: proba e2e pe formularul real + init mediu ROADEF
Proba end-to-end ruleaza formularul frm_firme_nou_desktopf peste nomenclatorul Oracle real; 997/1000 coduri fiscale reale potrivite corect. Testul sintetic acopera 42 de verificari, fara Oracle si fara 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:
@@ -0,0 +1,50 @@
|
||||
* 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
|
||||
ENDIF
|
||||
|
||||
lnRaspuns = IIF(TYPE('gnMockRaspunsShowInfo') = 'N', gnMockRaspunsShowInfo, 6)
|
||||
RETURN m.lnRaspuns
|
||||
ENDFUNC
|
||||
Reference in New Issue
Block a user