* mock_anaf_server_storno.prg - MOCK pentru AnafeFacturaServer, STRICT pentru testul E2E * storno eFactura (test_storno_e2e.prg). ZERO apeluri reale la ANAF: RefreshTokenAuto / * TrimiteFacturaXML / SaveFile / Xml2PdfAnaf doar logheaza apelul in PUBLIC gaMockApeluri / * gnMockApeluri (declarate de test INAINTE de a instantia acest mock) si intorc raspunsuri * canonice, fara retea si fara disc (in afara de SaveFile, care doar logheaza). DEFINE CLASS MockAnafServerStorno AS Custom cCodFiscal = '' lTest = .T. cToken = 'MOCK-TOKEN-STORNO' cRefreshToken = 'MOCK-REFRESH-STORNO' dTokenGendate = {} dTokenExpdate = {} PROCEDURE RegMock LPARAMETERS tcMetoda, tcP2, tcP3 gnMockApeluri = gnMockApeluri + 1 DIMENSION gaMockApeluri[gnMockApeluri, 3] gaMockApeluri[gnMockApeluri, 1] = tcMetoda gaMockApeluri[gnMockApeluri, 2] = TRANSFORM(tcP2) gaMockApeluri[gnMockApeluri, 3] = TRANSFORM(tcP3) IF TYPE('gcUILog') = 'C' DO PrLogLocal WITH 'MOCK ' + tcMetoda + ' p2=[' + TRANSFORM(tcP2) + '] p3=[' + TRANSFORM(tcP3) + ']' ENDIF ENDPROC PROCEDURE RefreshTokenAuto This.RegMock('RefreshTokenAuto', '', '') ENDPROC PROCEDURE TrimiteFacturaXML LPARAMETERS tcFile, tlValidare, tlValidareOnline, tlNuTrimiteEFacturaANAF, tlExtern, tlB2C LOCAL loReturn This.RegMock('TrimiteFacturaXML', tcFile, TRANSFORM(tlB2C)) loReturn = CREATEOBJECT('Empty') ADDPROPERTY(loReturn, 'lSucces', .T.) ADDPROPERTY(loReturn, 'cIdIncarcare', 'MOCK-ID-STORNO-12345') ADDPROPERTY(loReturn, 'cMesaj', '') ADDPROPERTY(loReturn, 'cResponse', '') ADDPROPERTY(loReturn, 'nStatus', 200) ADDPROPERTY(loReturn, 'cFile', TRANSFORM(tcFile)) RETURN loReturn ENDPROC PROCEDURE SaveFile LPARAMETERS tcFile, tlVariable, tcDirectory, tcFileName This.RegMock('SaveFile', tcFile, TRANSFORM(tcDirectory) + '|' + TRANSFORM(tcFileName)) RETURN .T. ENDPROC PROCEDURE Xml2PdfAnaf LPARAMETERS tcXml, tcFile, tlVariable This.RegMock('Xml2PdfAnaf', tcFile, '') RETURN tcFile ENDPROC ENDDEFINE