sync SVN
This commit is contained in:
@@ -10,6 +10,14 @@ Fisiere in `COMUN\utile\Teste\`: `vfp_ui_harness.ps1` (orchestrator generic, par
|
||||
`mock_amessagebox.prg` (mock dialog) — infrastructura sta in radacina `Teste\`; suitele stau in
|
||||
subfoldere pe subiect. Exemplu complet: `achizitie_import\test_import_nota_ui.prg` + `.ps1`.
|
||||
|
||||
**Initializarea de mediu se alege dupa PROIECT, nu dupa clasa testata.** `test_init_env_auto.prg`
|
||||
are `gcAppPath` hardcodat pe `D:\ROA\ROACONT\`; exista variante `_roagest`, `_roafacturare`,
|
||||
`_acnpro`, `_roadef`. `D:\ROA\ROACONT\COMUN` si `D:\ROA\ROADEF\COMUN` sunt **working copy-uri
|
||||
SVN separate, nu junctions**: un test pornit cu init-ul gresit incarca alt COMUN si nu vede
|
||||
modificarile necomise — trece sau pica pe cod vechi, fara niciun semn. Pune in test o verificare
|
||||
explicita ca noul cod chiar e incarcat (ex. `CREATEOBJECT` pe clasa noua, intr-un `TRY`) inainte
|
||||
de orice asertiune.
|
||||
|
||||
**REGULA (Marius): testele pe aplicatii frontend exerseaza fluxul REAL al
|
||||
utilizatorului** — formularul/butonul/metoda pe care o apeleaza aplicatia, NU introducerea
|
||||
directa a randurilor in cursoare/tabele. Popularea directa sare peste validari/filtre/efecte
|
||||
@@ -117,6 +125,14 @@ g. **Mock de messagebox**: `FUNCTION amessagebox` care returneaza direct valoare
|
||||
(6=Da), incarcat cu `SET PROCEDURE ... ADDITIVE` **PRIMUL**, inaintea fisierelor aplicatiei:
|
||||
la nume duplicat de procedura VFP foloseste fisierul cautat PRIMUL (verificat empiric).
|
||||
Astfel umbreste `amessagebox` si in apelurile din metodele de clasa.
|
||||
**Nu acopera apelurile INTRA-FISIER**: cand functia care deschide dialogul sta in ACELASI
|
||||
`.prg` cu `amessagebox`, mock-ul nu o prinde si dialogul ramane modal. Caz real:
|
||||
`verifica_partener_show_info` si `amessagebox` sunt amandoua in `oproceduri_comune.prg` —
|
||||
rularea headless s-a blocat pe primul CIF pana s-a facut un mock pentru wrapper-ul insusi
|
||||
(`partener_anaf\mock_verifica_partener_show_info.prg`). Regula practica: mock-ul se pune pe
|
||||
functia pe care o apeleaza codul TESTAT, nu pe cea de la capatul lantului. Si pune in test o
|
||||
proba care confirma ca mock-ul a castigat, INAINTE de orice actiune care poate deschide un
|
||||
dialog — altfel esecul se manifesta ca test agatat, nu ca eroare.
|
||||
h. **Cursorii ceruti de Init**: pre-populeaza-i INAINTE de instantiere (Init-ul recreeaza din
|
||||
Oracle cursoarele goale, iar recrearea lasa grid-ul fara coloane, eroare 1925). Pune 1 rand
|
||||
placeholder inainte, apoi **`ZAP`** dupa `Show()` — NU `DELETE ALL`, care lasa un rand fizic
|
||||
|
||||
Reference in New Issue
Block a user