Despre Teste
Proiectul folosește Playwright pentru testare automată. Testele validează că fluxurile de lucru funcționează corect.
Notă: Înainte de a rula testele, trebuie să rulezi
npm install în folderul tests/ pentru a instala dependențele.
Fișiere de Test
| Fișier | Descriere | Tip |
|---|---|---|
login-solr.test.ts |
Testează comanda /login-solr - deschide Solr în Chrome și face login | Browser Automation |
update-solr.test.ts |
Testează comanda /update-solr - adaugă job documents în Solr | API Test |
delete-solr.test.ts |
Testează comanda /delete-solr - șterge job documents din Solr | API Test |
add-website.test.ts |
Testează comanda /add-website - adaugă companie nouă în websites.md | File Test |
add-website-new-workflow.test.ts |
Testează fluxul complet /add-website cu website lookup | File Test |
remove-404.test.ts |
Testează comanda /remove-404 - validează URL-uri și șterge job-uri inactive | API + Browser Test |
remove-404-vdate.test.ts |
Testează actualizarea câmpului vdate în /remove-404 | API Test |
remove-404-chrome.test.ts |
Testează verificarea conținutului paginii cu Chrome în /remove-404 | Browser Test |
Cum să Rulezi Testele
1. Prerechizite
Porneste Chrome cu debugging:
cd ..
powershell -ExecutionPolicy Bypass -File start-chrome.ps1
Porneste Solr (pentru testele Solr):
docker start peviitor-solr
2. Instalează Dependențele
cd tests
npm install
3. Rulează Toate Testele
npx playwright test
4. Rulează un Test Specific
npx playwright test login-solr.test.ts
npx playwright test update-solr.test.ts
npx playwright test delete-solr.test.ts
npx playwright test add-website.test.ts
Rezultate Teste
Când rulezi testele, vei vedea rezultate ca:
Running 3 tests using 1 worker
ok 1 [Chrome] › update-solr.test.ts:9:5 › verify job core is accessible ✓
ok 2 [Chrome] › update-solr.test.ts:18:5 › query existing jobs ✓
ok 3 [Chrome] › update-solr.test.ts:26:5 › add new job document following Job schema ✓
3 passed
Configurare Playwright
Fișierul playwright.config.ts conține configurarea:
import { defineConfig, devices } from "@playwright/test";
export default defineConfig({
testDir: ".",
timeout: 30000,
use: {
baseURL: "http://localhost:8983",
headless: false,
launchOptions: {
args: ["--remote-debugging-port=9222"],
},
},
projects: [
{
name: "Chrome",
use: { ...devices["Desktop Chrome"] },
},
],
});
Important: Testele folosesc Chrome-ul care este deja pornit cu debugging pe portul 9222 (de la
start-chrome.ps1).
Adaugă Teste Noi
Pentru a adăuga un test nou:
1. creează un fișier
*.test.ts în folderul tests/2. Definește testul folosind Playwright API
3. Rulează testul pentru a verifica că funcționează
4. Urmărește fluxul de lucru din
/instructions pentru a actualiza documentația după modificăriExemplu:
import { test, expect } from "@playwright/test";
test("descriere test", async ({ page }) => {
// Logica testului
await page.goto("http://localhost:8983/solr/");
// ...
});
Important: Când testezi funcții care folosesc Job Schema, asigură-te că NU incluzi câmpul
description - acesta nu există în schema Job!
Bug-uri Fix-uite
- update-solr.test.ts - Corectat formatul Solr delete-by-query de la
"_delete_":truela formatul corect:{"delete":{"query":"url:\"https://example.com/job\""}}