* mock_cauta_nom_articole.prg
* Bypass al dialogului real de cautare articole (cauta_alfa/CAUT, modal, nu poate rula
* headless) - dar returneaza XML in ACELASI format ca fluxul real (cauta_alfa.prg ~227/510:
* Cursortoxml(cursor,'var',2,0+2+8,0,'1') pe un cursor cu coloanele cerute de cauta_nom_articole:
* denumire,codmat,codbare,um,grupa,subgrupa,cont,acont,dnf,id_articol), ca sa exercite REAL
* do_adauga_articol din COMUN\clase\ointroduceri.vcx cu date controlate.
* Incarcat cu SET PROCEDURE ... ADDITIVE INAINTEA lui ocautare.prg (nume duplicat de procedura -
* castiga cel incarcat PRIMUL, la fel ca mock_amessagebox - vezi docs/testare-ui-vfp.md capcana j).
* gnButon trebuie sa existe deja (PUBLIC) in programul principal al testului - vezi
* Programe/roagest.prg:496 (PRIVATE gnButon la nivelul de top al aplicatiei reale, de-aia
* functioneaza gnButon "gol" in tot lantul de apeluri); mock-ul doar il seteaza (fara PRIVATE),
* ca sa actualizeze variabila existenta, nu sa creeze una noua locala functiei.
* gcMockArtCodmat (PUBLIC, optional): daca testul o declara/seteaza inainte de a apela
* do_adauga_articol(), mock-ul returneaza articolul cu acel codmat (vezi lista de mai jos) in loc
* de BULDOEXCAVATOR (implicit) - permite testelor cu mai multe articole (runda7) sa controleze ce
* articol "gaseste" dialogul real la fiecare apel, fara sa schimbe comportamentul testelor vechi.
FUNCTION cauta_nom_articole
	LPARAMETERS tcFiltruOriginal, tnPornire, tlLoud, tcListaId, tcListaDenumire
	gnButon = 1

	LOCAL lcXML, lcCodmatCautat
	lcCodmatCautat = IIF(TYPE('gcMockArtCodmat') = 'C' AND !EMPTY(gcMockArtCodmat), gcMockArtCodmat, 'ART-BULD-212')

	IF USED('crsMockCautaArt')
		USE IN ('crsMockCautaArt')
	ENDIF
	CREATE CURSOR crsMockCautaArt (denumire C(100), codmat C(30), codbare C(30), um C(10), ;
		grupa C(10), subgrupa C(10), cont C(10), acont C(20), dnf C(10), id_articol N(14))
	DO CASE
	CASE lcCodmatCautat == 'ART-GREE-303'
		INSERT INTO crsMockCautaArt (denumire, codmat, codbare, um, grupa, subgrupa, cont, acont, dnf, id_articol) ;
			VALUES ('AC GREE BORA', 'ART-GREE-303', '', 'BUC', '', '', '303', '', '', 9002)
	CASE lcCodmatCautat == 'ART-A8-371'
		INSERT INTO crsMockCautaArt (denumire, codmat, codbare, um, grupa, subgrupa, cont, acont, dnf, id_articol) ;
			VALUES ('A8', 'ART-A8-371', '8003510000203', 'BUC', '', '', '371', '', '', 9003)
	OTHERWISE
		INSERT INTO crsMockCautaArt (denumire, codmat, codbare, um, grupa, subgrupa, cont, acont, dnf, id_articol) ;
			VALUES ('BULDOEXCAVATOR', 'ART-BULD-212', '', 'BUC', '', '', '212', '', '', 9001)
	ENDCASE

	lcXML = ''
	Cursortoxml('crsMockCautaArt', 'lcXML', 2, 0+2+8, 0, '1')
	USE IN ('crsMockCautaArt')
	RETURN lcXML
ENDFUNC
