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
51 lines
2.5 KiB
Plaintext
51 lines
2.5 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
|
|
ENDIF
|
|
|
|
lnRaspuns = IIF(TYPE('gnMockRaspunsShowInfo') = 'N', gnMockRaspunsShowInfo, 6)
|
|
RETURN m.lnRaspuns
|
|
ENDFUNC
|