Files
comun/utile/Teste/facturare_unificat/probe_e2e_cont_667_ui.prg
2026-09-17 11:19:54 +03:00

126 lines
4.8 KiB
Plaintext

* probe_e2e_cont_667_ui.prg
* E2E (Pas 3 din docs\handoff_cont_discount_667_709.md): smoke UI pe frm_catalog_articole_nou
* (COMUN\clase\onom_articole.vc2), pagina Page3 "Vanzare" - dovedeste ca dupa write-back-ul .vcx:
* - formularul se instantiaza fara eroare (Init-ul seteaza noile ControlSource-uri, deci un obiect
* Text1 lipsa ar pica aici);
* - pe Clb_tx_scd si Clb_tx_scc exista copilul Text1 (analitic debitor/creditor), MaxLength=4;
* - ControlSource-urile sunt legate la Thisform.oPretNom.cAscd / cAscc.
* O SINGURA instantiere per proces (a doua se autoblocheaza - vezi probe_12b_s6c_fisa_pagina_vanzare).
* Nu scrie in Oracle; ROLLBACK de siguranta la final.
*
* Rulare: vfp9.exe -A "...\probe_e2e_cont_667_ui.prg"
* Log: D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\probe_e2e_cont_667_ui.log
SET SAFETY OFF
SET TALK OFF
SET NOTIFY OFF
CLOSE DATABASES
PUBLIC gcLog, gnPass, gnFail, gcCaz
gcLog = "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\facturare_unificat\out\probe_e2e_cont_667_ui.log"
STRTOFILE("START " + TTOC(DATETIME()) + CHR(13) + CHR(10), gcLog)
gnPass = 0
gnFail = 0
gcCaz = ""
ON ERROR DO UiErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
DO "D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto_roafacturare.prg" WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF TYPE('gnHandle') <> 'N' OR gnHandle <= 0
DO UiLog WITH "FAIL: conexiune Oracle esuata"
DO UiFinal
ENDIF
gnIdUtil = 8
SQLSETPROP(gnHandle, "QueryTimeOut", 60)
SET PATH TO (gcAppPath + "COMUN\CLASE") ADDITIVE
SET CLASSLIB TO (gcAppPath + "COMUN\CLASE\ofacturare.vcx") ADDITIVE
SET CLASSLIB TO (gcAppPath + "COMUN\CLASE\onom_articole.vcx") ADDITIVE
update_um()
update_um_iso()
update_grupe_art()
update_subgrupe_art()
LOCAL lnIdArt, lnOk, loRec, loForm, llCrapat, lcErrMsg, lnErrNo, loPage3
lnIdArt = 4294507213
gcCaz = "[setup] "
lnOk = goExecutor.oExecuta('select * from vnom_articole where id_articol = ' + TRANSFORM(lnIdArt), 'vnom_articole_nou')
DO Assert WITH lnOk # .F. AND USED('vnom_articole_nou') AND RECCOUNT('vnom_articole_nou') = 1, "select vnom_articole pentru articolul " + TRANSFORM(lnIdArt)
SELECT vnom_articole_nou
SCATTER NAME loRec MEMO
loRec.conditii_pastrare = NVL(loRec.conditii_pastrare, '')
USE IN vnom_articole_nou
PUBLIC gcNumeProgram
gcNumeProgram = 'ROAFACTURARE'
PRIVATE poRec, pnIdAMS
poRec = loRec
pnIdAMS = lnIdArt
llCrapat = .F.
lcErrMsg = ''
lnErrNo = 0
TRY
loForm = CREATEOBJECT('frm_catalog_articole_nou', loRec, lnIdArt, 'UPDATE')
CATCH TO loExc
llCrapat = .T.
lnErrNo = loExc.ErrorNo
lcErrMsg = loExc.Message
ENDTRY
DO UiLog WITH " CREATEOBJECT: llCrapat=" + TRANSFORM(llCrapat) + " errno=" + TRANSFORM(lnErrNo) + " mesaj=[" + lcErrMsg + "]"
gcCaz = "[ui] "
DO Assert WITH !llCrapat AND VARTYPE(loForm) = 'O', "CREATEOBJECT('frm_catalog_articole_nou') trece (errno=" + TRANSFORM(lnErrNo) + ")"
IF !llCrapat
DO Assert WITH loForm._pageframe1.PageCount = 3, "PageCount=3 (obtinut " + TRANSFORM(loForm._pageframe1.PageCount) + ")"
DO Assert WITH VARTYPE(loForm.oPretNom) = 'O', "Thisform.oPretNom instantiat"
loPage3 = loForm._pageframe1.Page3
DO Assert WITH PEMSTATUS(loPage3.Clb_tx_scd, 'Text1', 5), "Page3.Clb_tx_scd.Text1 (analitic debitor) exista"
DO Assert WITH PEMSTATUS(loPage3.Clb_tx_scc, 'Text1', 5), "Page3.Clb_tx_scc.Text1 (analitic creditor) exista"
IF PEMSTATUS(loPage3.Clb_tx_scd, 'Text1', 5)
DO Assert WITH loPage3.Clb_tx_scd.Text1.MaxLength = 4, "Clb_tx_scd.Text1.MaxLength=4 (obtinut " + TRANSFORM(loPage3.Clb_tx_scd.Text1.MaxLength) + ")"
DO Assert WITH loPage3.Clb_tx_scd.Text1.ControlSource = "Thisform.oPretNom.cAscd", "Clb_tx_scd.Text1.ControlSource=[" + TRANSFORM(loPage3.Clb_tx_scd.Text1.ControlSource) + "]"
ENDIF
IF PEMSTATUS(loPage3.Clb_tx_scc, 'Text1', 5)
DO Assert WITH loPage3.Clb_tx_scc.Text1.MaxLength = 4, "Clb_tx_scc.Text1.MaxLength=4 (obtinut " + TRANSFORM(loPage3.Clb_tx_scc.Text1.MaxLength) + ")"
DO Assert WITH loPage3.Clb_tx_scc.Text1.ControlSource = "Thisform.oPretNom.cAscc", "Clb_tx_scc.Text1.ControlSource=[" + TRANSFORM(loPage3.Clb_tx_scc.Text1.ControlSource) + "]"
ENDIF
RELEASE loForm
ENDIF
gcCaz = "[final] "
IF TYPE('gnHandle') = 'N' AND gnHandle > 0
SQLEXEC(gnHandle, "ROLLBACK")
ENDIF
DO UiLog WITH "PARTIAL PASS=" + TRANSFORM(gnPass) + " FAIL=" + TRANSFORM(gnFail)
DO UiFinal
PROCEDURE UiLog
LPARAMETERS tcMsg
STRTOFILE(tcMsg + CHR(13) + CHR(10), gcLog, 1)
ENDPROC
PROCEDURE UiErr
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
DO UiLog WITH "ERROR " + TRANSFORM(tnErr) + " [" + tcProg + ":" + TRANSFORM(tnLine) + "] " + tcMsg
ENDPROC
PROCEDURE Assert
LPARAMETERS tlCond, tcMsg
IF tlCond
gnPass = gnPass + 1
DO UiLog WITH "PASS: " + gcCaz + tcMsg
ELSE
gnFail = gnFail + 1
DO UiLog WITH "FAIL: " + gcCaz + tcMsg
ENDIF
ENDPROC
PROCEDURE UiFinal
DO UiLog WITH "REZULTAT: " + TRANSFORM(gnPass) + " PASS / " + TRANSFORM(gnFail) + " FAIL"
DO UiLog WITH "END " + TTOC(DATETIME())
QUIT
ENDPROC