Files
roafacturare/Utile/Teste/test_catalog_articole_s1.prg
2026-09-15 23:58:48 +03:00

111 lines
3.5 KiB
Plaintext

* test_catalog_articole_s1.prg
*!* 15.09.2026
*!* marius.mutu
*!* Proba headless S1: verifica inregistrarea oproceduri_articole.prg si onom_articole
*!* in Programe\roafacturare.prg si instantiaza frm_catalog_articole fara eroare VFP.
*!* Rulare: vfp9.exe -A -T "<cale>\test_catalog_articole_s1.prg"
*!* Log: test_catalog_articole_s1.log, langa script.
LPARAMETERS tcHost, tcSchema, tcPassword
SET SAFETY OFF
SET TALK OFF
SET TABLEPROMPT OFF
SET ESCAPE OFF
SET CONSOLE OFF
SET NOTIFY OFF
SET EXCLUSIVE OFF
CLOSE DATABASES
PUBLIC glLogFile
LOCAL lcDir, lcApp, lcHarness, lcPrg, lcProc, llProc, llCls, llConn, llForm, loForm
lcDir = ADDBS(JUSTPATH(SYS(16,0)))
IF EMPTY(lcDir)
lcDir = 'D:\ROA\ROAFACTURARE\Utile\Teste\'
ENDIF
lcApp = 'D:\ROA\ROAFACTURARE\'
glLogFile = lcDir + 'test_catalog_articole_s1.log'
STRTOFILE('', glLogFile, .F.)
s1log('== test_catalog_articole_s1 ==')
s1log('SAFETY=' + SET('SAFETY') + ' RESOURCE=' + SET('RESOURCE') + ' TABLEPROMPT=' + SET('TABLEPROMPT'))
IF EMPTY(tcHost)
tcHost = 'CENTRAL'
ENDIF
IF EMPTY(tcSchema)
tcSchema = 'MARIUSM_AUTO'
ENDIF
IF EMPTY(tcPassword)
tcPassword = 'ROMFASTSOFT'
ENDIF
ON ERROR DO s1err WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
* 1) liniile de inregistrare exista in roafacturare.prg
lcPrg = FILETOSTR(lcApp + 'Programe\roafacturare.prg')
llProc = ('Set Procedure To oproceduri_articole.prg Additive' $ lcPrg)
llCls = ('Set Classlib To onom_articole Additive' $ lcPrg)
s1check('roafacturare.prg contine Set Procedure To oproceduri_articole.prg Additive', llProc)
s1check('roafacturare.prg contine Set Classlib To onom_articole Additive', llCls)
* 2) mediu ROAFACTURARE + conexiune Oracle dev
lcHarness = lcApp + 'COMUN\utile\Teste\test_init_env_auto_roafacturare.prg'
DO (lcHarness) WITH tcHost, tcSchema, tcPassword
llConn = (gnHandle > 0)
s1check('conexiune Oracle ' + tcHost + '/' + tcSchema, llConn)
* 3) inregistrarea efectiva, exact ca in roafacturare.prg
SET PROCEDURE TO oproceduri_articole.prg ADDITIVE
SET CLASSLIB TO onom_articole ADDITIVE
lcProc = FILETOSTR(lcApp + 'COMUN\programe\oproceduri_articole.prg')
s1check('oproceduri_articole.prg defineste PROCEDURE viz_catalog_articole', ('PROCEDURE viz_catalog_articole' $ lcProc))
* 4) clasa frm_catalog_articole se instantiaza
loForm = .NULL.
llForm = .F.
TRY
loForm = CREATEOBJECT('frm_catalog_articole')
llForm = (TYPE('loForm') = 'O' AND !ISNULL(loForm))
CATCH TO loEroare
s1log('[ERR] CREATEOBJECT(frm_catalog_articole): ' + TRANSFORM(loEroare.Message) + ' linia ' + TRANSFORM(loEroare.LineNo))
ENDTRY
s1check('CREATEOBJECT(frm_catalog_articole)', llForm)
IF llForm
TRY
s1log(' ColumnCount grila = ' + TRANSFORM(loForm.Ct_grid_search1._Grid1.ColumnCount) + ' (0 headless nu e esec)')
CATCH TO loEroare
s1log(' ColumnCount indisponibil: ' + TRANSFORM(loEroare.Message))
ENDTRY
loForm.Release()
loForm = .NULL.
ENDIF
* 5) verdict
IF llProc AND llCls AND llConn AND llForm
s1log('REZULTAT: PASS')
ELSE
s1log('REZULTAT: FAIL')
ENDIF
CLOSE DATABASES
SET PROCEDURE TO
SET CLASSLIB TO
QUIT
PROCEDURE s1log
LPARAMETERS tcText
STRTOFILE(TRANSFORM(tcText) + CHR(13) + CHR(10), glLogFile, .T.)
ENDPROC
PROCEDURE s1check
LPARAMETERS tcDescriere, tlOk
s1log(IIF(tlOk, '[PASS] ', '[FAIL] ') + tcDescriere)
ENDPROC
PROCEDURE s1err
LPARAMETERS tnEroare, tcMesaj, tcProgram, tnLinia
s1log('[ERR] ' + TRANSFORM(tnEroare) + ' ' + TRANSFORM(tcMesaj) + ' in ' + TRANSFORM(tcProgram) + ' linia ' + TRANSFORM(tnLinia))
ENDPROC