* mock_anaf_verificare.prg - inlocuieste FUNCTION ANAF_VerificaCuiSingle (validare.prg) cu raspunsuri * preconfigurate, ca testul UI sa NU faca apeluri reale la serviciul ANAF (lent/nedeterminist). * Se incarca cu SET PROCEDURE ... ADDITIVE INAINTEA lui test_init_env_auto (care incarca validare.prg * real) - la nume duplicat de FUNCTION, VFP foloseste fisierul cautat PRIMUL (verificat empiric, * vezi COMUN\docs\testare-ui-vfp.md capcana g). NormalizeazaCUI (validare.prg) NU e suprascrisa - * se foloseste cea reala. * IMPORTANT: goANAFMockData (Collection cu raspunsuri, cheie 'C'+cui normalizat) si gnANAFCallCount * (contor apeluri reale, nu din cache) se construiesc INLINE in programul principal al testului, * NU aici si NU intr-o PROCEDURE - vezi capcana l din depanare_testare_vfp.md (CREATEOBJECT/ * ADDPROPERTY apelate dintr-o PROCEDURA se comporta gresit in acest runtime headless; SET PROCEDURE * nici nu executa codul de top-level al acestui fisier, doar inregistreaza FUNCTION-ul de mai jos). * Contor apeluri: gnANAFCallCount creste doar cand mock-ul e efectiv apelat (ANAF_StarePartener * verifica intai goCacheANAF_Sesiune - cache-hit NU ajunge aici). * runda 12: tdData (data documentului, trimisa de ANAF_StarePartener) e retinuta in gdANAFUltimaData, * ca testul sa poata verifica ca data ajunge efectiv la wrapper. FUNCTION ANAF_VerificaCuiSingle LPARAMETERS tcCui, tdData LOCAL lcCui, lcKey IF TYPE('goANAFMockData') <> 'O' RETURN .NULL. ENDIF IF TYPE('gnANAFCallCount') = 'N' gnANAFCallCount = gnANAFCallCount + 1 ENDIF IF VARTYPE(m.tdData) = 'D' gdANAFUltimaData = m.tdData ENDIF lcCui = NormalizeazaCUI(m.tcCui) lcKey = 'C' + m.lcCui IF goANAFMockData.GetKey(m.lcKey) = 0 RETURN .NULL. && CUI neconfigurat - simuleaza "fara raspuns" (degradare tacuta) ENDIF RETURN goANAFMockData.Item(m.lcKey) ENDFUNC