diff --git a/Teste/test_parteneri_roa.prg b/Teste/test_parteneri_roa.prg new file mode 100644 index 0000000..e415a23 --- /dev/null +++ b/Teste/test_parteneri_roa.prg @@ -0,0 +1,87 @@ +* test_parteneri_roa.prg - cautarea partenerului la import, pe datele reale din ROA. +* +* Reguli verificate: +* - cautarea se face pe codul cu care partenerul se salveaza (GetCodFiscalValid), nu pe cel brut +* - cand mai multi parteneri au acelasi cod fiscal, se ia cel mai vechi (id_part minim) +* +* Testul e READ ONLY (doar SELECT) si NU face parte din suita implicita: cere Oracle. +* vfp9.exe -A -T "D:\PROIECTE\FLORA\FLORA2ROA\Teste\test_parteneri_roa.prg" + +#INCLUDE "comun.h" + +SET SAFETY OFF +SET TALK OFF + +PUBLIC gcUILog, gcSyncDir, gnTestFail, gnMockRaspuns, gcMockUltimMesaj, gnMockUltimTip +gnTestFail = 0 +gnMockRaspuns = 6 +gcMockUltimMesaj = '' +gnMockUltimTip = 0 + +LOCAL lcTestDir, lcSqlPart, lnSucces, lnTip, lcCodSalvat, lnIdVechi, lnIdGasit +lcTestDir = ADDBS(JUSTPATH(SYS(16, 0))) +gcUILog = lcTestDir + 'test_parteneri_roa_log.txt' +gcSyncDir = lcTestDir + 'uisync\' +IF !DIRECTORY(gcSyncDir) + MD (gcSyncDir) +ENDIF +STRTOFILE('START ' + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog) + +SQLSETPROP(0, 'DispLogin', 3) +DO (lcTestDir + 'test_init_env_auto.prg') WITH .T. +SET PROCEDURE TO (lcTestDir + 'ui_harness.prg') ADDITIVE +SET PROCEDURE TO (lcTestDir + 'mock_amessagebox.prg') ADDITIVE +DO HarnessInit + +IF TYPE('gnHandle') <> 'N' OR gnHandle <= 0 + HarnessLog('Fara conexiune la ROA (' + ALLTRIM(goApp.oSettings.host) + '), testul iese controlat.') + DO HarnessDone WITH 'SKIP' + QUIT +ENDIF + +DO FORM (gcAppPath + 'frm_import') NAME goImportFrm NOSHOW +goImportFrm.WindowType = 0 + +* un CNP care in ROA e pe mai multi parteneri: se ia cel mai vechi +LOCAL lcCnpDublat +lcCnpDublat = '1951113297313' +lnSucces = goExecutor.oExecute(GetHash("cSql=>select min(id_part) as id_part, count(*) as nr from nom_parteneri " + ; + "where replace(upper(cod_fiscal), ' ', '') = '" + m.lcCnpDublat + "' and sters = 0??cCursor=>cAsteptat")) +TestAssertEqual(CT_SUCCES, m.lnSucces, 'interogare de control executata') +lnIdVechi = NVL(cAsteptat.id_part, 0) +HarnessLog('CNP ' + m.lcCnpDublat + ': ' + TRANSFORM(cAsteptat.nr) + ' parteneri, cel mai vechi ' + TRANSFORM(m.lnIdVechi)) +TestAssert(m.lnIdVechi > 0, 'CNP-ul de test exista in ROA') + +* cursorul de cautare, ca in CompleteazaParteneriROA +CREATE CURSOR cParteneri (id_part N(10), cod_fiscal C(30) null, denumire C(100) null) +lcSqlPart = [select id_part, cod_fiscal, denumire from nom_parteneri where sters = 0 and inactiv = 0] +lnSucces = goExecutor.oExecute(GetHash("cSql=>" + m.lcSqlPart + '??cCursor=>cParteneriTemp')) +TestAssertEqual(CT_SUCCES, m.lnSucces, 'parteneri ROA cititi') +SELECT cParteneri +APPEND FROM DBF('cParteneriTemp') +INDEX on denumire TAG denumire +INDEX on PADR(STRTRAN(cod_fiscal, ' ', ''),30, ' ') TAG cod_fiscal +USE IN (SELECT('cParteneriTemp')) + +* randul din Fidelio cu campurile inversate: CNP in 'serie CI / pasaport' +lnTip = 0 +lcCodSalvat = GetCodFiscalValid('PX920016', @lnTip, 'STRATON ADRIAN FLORIN', m.lcCnpDublat, '') +TestAssertEqual(m.lcCnpDublat, m.lcCodSalvat, 'CNP-ul din serie CI este codul care se salveaza') + +lnIdGasit = goImportFrm.GetIdPartener(PADR('PX920016', 30, ' '), PADR('STRATON ADRIAN FLORIN', 100, ' ')) +TestAssertEqual(0, m.lnIdGasit, 'codul brut din import nu gaseste partenerul') + +lnIdGasit = goImportFrm.GetIdPartener(PADR(m.lcCodSalvat, 30, ' '), PADR('STRATON ADRIAN FLORIN', 100, ' ')) +TestAssertEqual(m.lnIdVechi, m.lnIdGasit, 'codul salvat gaseste partenerul cel mai vechi') + +lnIdGasit = goImportFrm.GetIdPartenerROA(m.lcCodSalvat) +TestAssertEqual(m.lnIdVechi, m.lnIdGasit, 'cautarea in ROA da tot partenerul cel mai vechi') + +TestAssertEqual(0, goImportFrm.GetIdPartenerROA(''), 'cod fiscal gol: nu se cauta in ROA') + +goImportFrm.Release() +goConn.Disconnect() + +HarnessLog('REZULTAT: ' + TestRezultat()) +DO HarnessDone WITH TestRezultat() +QUIT diff --git a/changelog_flora2roa.txt b/changelog_flora2roa.txt index 206f48c..bfeca33 100644 --- a/changelog_flora2roa.txt +++ b/changelog_flora2roa.txt @@ -1,3 +1,13 @@ + +