* 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