111 lines
3.5 KiB
Plaintext
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
|