117 lines
4.9 KiB
Plaintext
117 lines
4.9 KiB
Plaintext
LPARAMETERS tcHost, tcSchema, tcPassword
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
LOCAL lcLog, lnPass, lnFail, lcMsg
|
|
lcLog = 'D:\ROA\ROACONT\COMUN\utile\Teste\valuta581\test_valuta581_log.txt'
|
|
STRTOFILE('start ' + TTOC(DATETIME()) + CHR(13)+CHR(10), lcLog)
|
|
lnPass = 0
|
|
lnFail = 0
|
|
|
|
ON ERROR STRTOFILE('ERROR: ' + MESSAGE() + ' | ' + PROGRAM() + ' | line ' + TRANSFORM(LINENO()) + CHR(13)+CHR(10), lcLog, 1)
|
|
|
|
DO D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg WITH (tcHost), (tcSchema), (tcPassword)
|
|
IF gnHandle <= 0
|
|
STRTOFILE('FAIL init_env: conectare esuata' + CHR(13)+CHR(10), lcLog, 1)
|
|
QUIT
|
|
ENDIF
|
|
STRTOFILE('SAFETY=' + SET('SAFETY') + ' RESOURCE=' + SET('RESOURCE') + CHR(13)+CHR(10), lcLog, 1)
|
|
|
|
LOCAL lcCampLista, lcFisLista, lcIdFisier
|
|
lcCampLista = ''
|
|
lcFisLista = ''
|
|
lcIdFisier = ''
|
|
IF goExecutor.oExecuta("select camp_lista, fis_lista, id_fisier from xitems where id_item = 81", "cXItem81")
|
|
SELECT cXItem81
|
|
IF RECCOUNT() = 1
|
|
lcCampLista = ALLTRIM(camp_lista)
|
|
lcFisLista = LOWER(ALLTRIM(fis_lista))
|
|
lcIdFisier = ALLTRIM(id_fisier)
|
|
lnPass = lnPass + 1
|
|
STRTOFILE('PASS xitems81 lookup: camp_lista=' + lcCampLista + ' fis_lista=' + lcFisLista + ' id_fisier=' + lcIdFisier + CHR(13)+CHR(10), lcLog, 1)
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL xitems81 lookup: ' + TRANSFORM(RECCOUNT()) + ' randuri' + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
USE IN (SELECT('cXItem81'))
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL xitems81 query esuata' + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
|
|
* reproduce exact codul corectat din baza.vc2:10159 (item.Text_item1.GotFocus), cu valorile reale din xitems 81
|
|
LOCAL F, C, lcIdFis, pcselect
|
|
F = lcFisLista
|
|
C = lcCampLista
|
|
lcIdFis = lcIdFisier
|
|
pcselect = ['select ] + C + [,] + Iif(F == 'vnom_valute' And Lower(lcIdFis) == 'id_valuta2', [id_valuta3 as id_valuta2], lcIdFis) + [ from ] + F + [ where 2=2']
|
|
STRTOFILE('pcselect=' + pcselect + CHR(13)+CHR(10), lcLog, 1)
|
|
|
|
* pcselect pastreaza apostroful santinela de la inceput/sfarsit (contract cauta_alfa.prg:87-93,
|
|
* Left(lcSelect,1) in ['],["],"["), neatins de aceasta corectie - nu se modifica
|
|
IF pcselect == ['select nume_val2,id_valuta3 as id_valuta2 from vnom_valute where 2=2']
|
|
lnPass = lnPass + 1
|
|
STRTOFILE('PASS pcselect text corect (id_valuta3 as id_valuta2)' + CHR(13)+CHR(10), lcLog, 1)
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL pcselect text neasteptat' + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
|
|
* executa efectiv select-ul corectat (fara apostroful santinela, cum il consuma downstream cauta_alfa) si verifica EUR/USD dau id intern (2/1), nu ISO (44/142)
|
|
LOCAL lcSqlClean
|
|
lcSqlClean = SUBSTR(pcselect, 2, LEN(pcselect) - 2)
|
|
IF goExecutor.oExecuta(lcSqlClean + [ and nume_val2 in ('EUR','USD')], "cVal")
|
|
SELECT cVal
|
|
LOCATE FOR ALLTRIM(nume_val2) = 'EUR'
|
|
IF FOUND() AND id_valuta2 = 2
|
|
lnPass = lnPass + 1
|
|
STRTOFILE('PASS EUR -> id_valuta2=' + TRANSFORM(id_valuta2) + ' (asteptat 2, intern EURO)' + CHR(13)+CHR(10), lcLog, 1)
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL EUR -> id_valuta2=' + TRANSFORM(IIF(FOUND(),id_valuta2,-999)) + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
LOCATE FOR ALLTRIM(nume_val2) = 'USD'
|
|
IF FOUND() AND id_valuta2 = 1
|
|
lnPass = lnPass + 1
|
|
STRTOFILE('PASS USD -> id_valuta2=' + TRANSFORM(id_valuta2) + ' (asteptat 1, intern USD)' + CHR(13)+CHR(10), lcLog, 1)
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL USD -> id_valuta2=' + TRANSFORM(IIF(FOUND(),id_valuta2,-999)) + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
USE IN (SELECT('cVal'))
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL query corectata esuata' + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
|
|
* regresie: acelasi cod, dar item 11 (valuta facturii) - lcIdFis = id_valuta, nu trebuie atins de conditie
|
|
LOCAL F2, C2, lcIdFis2, pcselect2
|
|
F2 = 'vnom_valute'
|
|
C2 = 'nume_val'
|
|
lcIdFis2 = 'id_valuta'
|
|
pcselect2 = ['select ] + C2 + [,] + Iif(F2 == 'vnom_valute' And Lower(lcIdFis2) == 'id_valuta2', [id_valuta3 as id_valuta2], lcIdFis2) + [ from ] + F2 + [ where 2=2']
|
|
IF pcselect2 == ['select nume_val,id_valuta from vnom_valute where 2=2']
|
|
lnPass = lnPass + 1
|
|
STRTOFILE('PASS regresie item 11 (id_valuta) neatins' + CHR(13)+CHR(10), lcLog, 1)
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL regresie item 11: ' + pcselect2 + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
|
|
* regresie: schimb valutar 10633, items 88/89 - lcIdFis = id_valuta3, nu trebuie atins de conditie
|
|
LOCAL F3, C3, lcIdFis3, pcselect3
|
|
F3 = 'vnom_valute'
|
|
C3 = 'nume_val3'
|
|
lcIdFis3 = 'id_valuta3'
|
|
pcselect3 = ['select ] + C3 + [,] + Iif(F3 == 'vnom_valute' And Lower(lcIdFis3) == 'id_valuta2', [id_valuta3 as id_valuta2], lcIdFis3) + [ from ] + F3 + [ where 2=2']
|
|
IF pcselect3 == ['select nume_val3,id_valuta3 from vnom_valute where 2=2']
|
|
lnPass = lnPass + 1
|
|
STRTOFILE('PASS regresie 10633 item 88/89 (id_valuta3) neatins' + CHR(13)+CHR(10), lcLog, 1)
|
|
ELSE
|
|
lnFail = lnFail + 1
|
|
STRTOFILE('FAIL regresie 10633: ' + pcselect3 + CHR(13)+CHR(10), lcLog, 1)
|
|
ENDIF
|
|
|
|
STRTOFILE('TOTAL PASS=' + TRANSFORM(lnPass) + ' FAIL=' + TRANSFORM(lnFail) + CHR(13)+CHR(10), lcLog, 1)
|
|
STRTOFILE('end ' + TTOC(DATETIME()) + CHR(13)+CHR(10), lcLog, 1)
|
|
QUIT
|