sync SVN r18102
This commit is contained in:
120
utile/Teste/efactura_import/test_ruta_gestiune.prg
Normal file
120
utile/Teste/efactura_import/test_ruta_gestiune.prg
Normal file
@@ -0,0 +1,120 @@
|
||||
* test_ruta_gestiune.prg
|
||||
* Import eFactura lansat din gestiune (lDoarGestiune):
|
||||
* T1 - proprietatea lDoarGestiune exista in binarul frm_import_efactura
|
||||
* T2 - do_executa forteaza ruta 2 si atentioneaza cand nu sunt articole gestionabile
|
||||
* T3 - CoadaContabilizareEF.NrRanduriGestiune numara doar randurile care ajung in rulaje
|
||||
* Nu are nevoie de Oracle.
|
||||
*
|
||||
* Rulare: vfp9.exe -A -T test_ruta_gestiune.prg
|
||||
|
||||
SET SAFETY OFF
|
||||
SET TALK OFF
|
||||
SET EXACT ON
|
||||
|
||||
PUBLIC lcLog, lnPass, lnFail
|
||||
LOCAL lcDirTest, lcDirComun, lcProps, lcCod, lnRanduri, lcErrCompil, lcErrRau, lcVcxRau, lcVcxTest
|
||||
lcDirTest = ADDBS(JUSTPATH(SYS(16)))
|
||||
lcDirComun = ADDBS(JUSTPATH(JUSTPATH(JUSTPATH(JUSTPATH(SYS(16))))))
|
||||
lcLog = m.lcDirTest + 'test_ruta_gestiune_log.txt'
|
||||
lnPass = 0
|
||||
lnFail = 0
|
||||
STRTOFILE('START ' + TTOC(DATETIME()) + CHR(13) + CHR(10), m.lcLog)
|
||||
ON ERROR DO TErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
||||
|
||||
* T1/T2: citesc direct clasa din binar, ca sa prind si lipsa proprietatii din lista de membri
|
||||
USE (m.lcDirComun + 'clase\anaf_efactura.vcx') IN 0 SHARED ALIAS cls
|
||||
SELECT cls
|
||||
LOCATE FOR UPPER(ALLTRIM(NVL(objname, ''))) == 'FRM_IMPORT_EFACTURA' AND EMPTY(NVL(parent, ''))
|
||||
lcProps = IIF(FOUND(), LOWER(NVL(properties, '')), '')
|
||||
lcCod = IIF(FOUND(), LOWER(NVL(methods, '')), '')
|
||||
USE IN cls
|
||||
|
||||
DO TVerdict WITH 'ldoargestiune' $ m.lcProps, 'T1 proprietate in binar', LEFT(m.lcProps, 0)
|
||||
DO TVerdict WITH 'thisform.ldoargestiune' $ m.lcCod AND 'nrrandurigestiune' $ m.lcCod, ;
|
||||
'T2 do_executa foloseste ruta de gestiune', ''
|
||||
|
||||
* T3: numaratoarea, pe cursor sintetic
|
||||
SET PROCEDURE TO (m.lcDirComun + 'programe\coada_contabilizare_ef.prg') ADDITIVE
|
||||
CREATE CURSOR crsTest (in_stoc N(1), id_articol N(10), id_gestiune N(10), cont C(4))
|
||||
INSERT INTO crsTest VALUES (1, 100, 5, '371')
|
||||
INSERT INTO crsTest VALUES (1, 101, 0, '371')
|
||||
INSERT INTO crsTest VALUES (1, 102, 5, '')
|
||||
INSERT INTO crsTest VALUES (1, 0, 5, '371')
|
||||
INSERT INTO crsTest VALUES (0, 103, 5, '371')
|
||||
|
||||
loCoada = CREATEOBJECT('CoadaContabilizareEF')
|
||||
lnRanduri = loCoada.NrRanduriGestiune('crsTest', 0)
|
||||
DO TVerdict WITH m.lnRanduri = 1, 'T3a fara gestiune implicita', TRANSFORM(m.lnRanduri)
|
||||
|
||||
lnRanduri = loCoada.NrRanduriGestiune('crsTest', 7)
|
||||
DO TVerdict WITH m.lnRanduri = 2, 'T3b cu gestiune implicita', TRANSFORM(m.lnRanduri)
|
||||
|
||||
CREATE CURSOR crsFaraGest (in_stoc N(1), id_articol N(10), id_gestiune N(10), cont C(4))
|
||||
INSERT INTO crsFaraGest VALUES (0, 103, 5, '371')
|
||||
INSERT INTO crsFaraGest VALUES (1, 0, 5, '371')
|
||||
lnRanduri = loCoada.NrRanduriGestiune('crsFaraGest', 7)
|
||||
DO TVerdict WITH m.lnRanduri = 0, 'T3c factura fara articole gestionabile', TRANSFORM(m.lnRanduri)
|
||||
|
||||
* T4: compilarea clasei, ca sa prinda erorile de sintaxa din metodele scrise in text
|
||||
lcVcxTest = m.lcDirTest + 'anaf_efactura_compil.vcx'
|
||||
IF FILE(m.lcVcxTest)
|
||||
ERASE (m.lcVcxTest)
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_compil.vct')
|
||||
ENDIF
|
||||
IF FILE(m.lcDirTest + 'anaf_efactura_compil.err')
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_compil.err')
|
||||
ENDIF
|
||||
COPY FILE (m.lcDirComun + 'clase\anaf_efactura.vcx') TO (m.lcVcxTest)
|
||||
COPY FILE (m.lcDirComun + 'clase\anaf_efactura.vct') TO (m.lcDirTest + 'anaf_efactura_compil.vct')
|
||||
COMPILE CLASSLIB (m.lcVcxTest)
|
||||
lcErrCompil = IIF(FILE(m.lcDirTest + 'anaf_efactura_compil.err'), FILETOSTR(m.lcDirTest + 'anaf_efactura_compil.err'), '')
|
||||
DO TVerdict WITH EMPTY(ALLTRIM(m.lcErrCompil)), 'T4 clasa compileaza fara erori', LEFT(STRTRAN(STRTRAN(m.lcErrCompil, CHR(13), ' '), CHR(10), ' '), 150)
|
||||
ERASE (m.lcVcxTest)
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_compil.vct')
|
||||
IF FILE(m.lcDirTest + 'anaf_efactura_compil.err')
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_compil.err')
|
||||
ENDIF
|
||||
|
||||
* T5: proba ca T4 chiar prinde o eroare - aceeasi compilare pe o copie stricata intentionat
|
||||
lcVcxRau = m.lcDirTest + 'anaf_efactura_rau.vcx'
|
||||
IF FILE(m.lcVcxRau)
|
||||
ERASE (m.lcVcxRau)
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_rau.vct')
|
||||
ENDIF
|
||||
IF FILE(m.lcDirTest + 'anaf_efactura_rau.err')
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_rau.err')
|
||||
ENDIF
|
||||
COPY FILE (m.lcDirComun + 'clase\anaf_efactura.vcx') TO (m.lcVcxRau)
|
||||
COPY FILE (m.lcDirComun + 'clase\anaf_efactura.vct') TO (m.lcDirTest + 'anaf_efactura_rau.vct')
|
||||
USE (m.lcVcxRau) IN 0 EXCLUSIVE ALIAS clsRau
|
||||
SELECT clsRau
|
||||
LOCATE FOR UPPER(ALLTRIM(NVL(objname, ''))) == 'FRM_IMPORT_EFACTURA' AND EMPTY(NVL(parent, ''))
|
||||
REPLACE methods WITH ALLTRIM(NVL(methods, '')) + CHR(13) + CHR(10) + 'PROCEDURE proba_rea' + CHR(13) + CHR(10) + 'IF Createobject("Custom").NuExista() = 0' + CHR(13) + CHR(10) + 'ENDIF' + CHR(13) + CHR(10) + 'ENDPROC' + CHR(13) + CHR(10)
|
||||
USE IN clsRau
|
||||
COMPILE CLASSLIB (m.lcVcxRau)
|
||||
lcErrRau = IIF(FILE(m.lcDirTest + 'anaf_efactura_rau.err'), FILETOSTR(m.lcDirTest + 'anaf_efactura_rau.err'), '')
|
||||
DO TVerdict WITH !EMPTY(ALLTRIM(m.lcErrRau)), 'T5 compilarea semnaleaza sintaxa gresita', LEFT(STRTRAN(STRTRAN(m.lcErrRau, CHR(13), ' '), CHR(10), ' '), 100)
|
||||
ERASE (m.lcVcxRau)
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_rau.vct')
|
||||
IF FILE(m.lcDirTest + 'anaf_efactura_rau.err')
|
||||
ERASE (m.lcDirTest + 'anaf_efactura_rau.err')
|
||||
ENDIF
|
||||
|
||||
STRTOFILE('REZULTAT pass=' + TRANSFORM(m.lnPass) + ' fail=' + TRANSFORM(m.lnFail) + CHR(13) + CHR(10), m.lcLog, 1)
|
||||
QUIT
|
||||
|
||||
PROCEDURE TVerdict
|
||||
LPARAMETERS tlOk, tcNume, tcDetaliu
|
||||
IF m.tlOk
|
||||
lnPass = m.lnPass + 1
|
||||
ELSE
|
||||
lnFail = m.lnFail + 1
|
||||
ENDIF
|
||||
STRTOFILE(IIF(m.tlOk, 'PASS ', 'FAIL ') + m.tcNume + IIF(EMPTY(m.tcDetaliu), '', ' [' + m.tcDetaliu + ']') + CHR(13) + CHR(10), m.lcLog, 1)
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE TErr
|
||||
LPARAMETERS tnErr, tcMsg, tcProg, tnLine
|
||||
STRTOFILE('EROARE ' + TRANSFORM(m.tnErr) + ' ' + m.tcMsg + ' in ' + m.tcProg + ' linia ' + TRANSFORM(m.tnLine) + CHR(13) + CHR(10), lcLog, 1)
|
||||
QUIT
|
||||
ENDPROC
|
||||
Reference in New Issue
Block a user