Files
websitedev/docs/staging-ui-smoke-test-plan.md
T
Do Siki 0047e1b441
CI — Test & Build / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI — Test & Build / 🏗️ Build Docker Image (push) Blocked by required conditions
CI — Test & Build / 🐳 Docker integration & API E2E (push) Blocked by required conditions
CI — Test & Build / 🌐 Staging Playwright smoke (push) Waiting to run
feat: harden content workflows and staging smoke tests
2026-08-17 16:08:57 +02:00

3.9 KiB
Raw Blame History

Staging UI smoke tesztterv

Cél

A staging deploy után 2–3 perc alatt jelezze, ha a publikus weboldal alapvetően nem használható. A cél nem a teljes regresszió, hanem a kritikus útvonalak gyors, stabil ellenőrzése.

Célkörnyezet: https://stage.mozdit.hu
Futás: minden staging deploy után, valamint manuálisan kiadás előtt.
Eszköz: Playwright MCP feltáráshoz; az automatizált futtatáshoz Playwright Test alapú tesztfájl javasolt.

Határok

  • A smoke teszt csak a staging környezetet használja.
  • Nem ment tartalmat, nem publikál és nem küld valódi kapcsolatfelvételi üzenetet.
  • Nem támaszkodik a magyar marketing-szövegek teljes egyezésére; stabil szerepköröket, URL-eket, címeket és státuszkódokat ellenőriz.
  • Az olyan részletes üzleti folyamatok, mint az üzenet tartós MongoDB-mentése, külön integrációs/E2E tesztbe tartoznak.

Kötelező ellenőrzések

Azonosító Forgatókönyv Várható eredmény
SMOKE-01 Health endpoint GET /api/health 200-as választ és status: "ok" értéket ad.
SMOKE-02 Kezdőlap renderelése A / oldal betölt; látható a főcím, a fejléc navigációja, a kapcsolat CTA és a lábléc. Nincs böngésző-konzolhiba.
SMOKE-03 Fő navigáció A Kezdőlap, Rólunk, Szolgáltatások és Kapcsolat linkek a megfelelő publikus útvonalra vezetnek; minden céloldalon egyetlen h1 található.
SMOKE-04 Kritikus szolgáltatási tartalom A kezdőlapon vagy a szolgáltatások oldalon látható legalább egy szolgáltatáskártya és a kapcsolat CTA. Ezzel korán észlelhető a content JSON vagy a Footer/Home integráció sérülése.
SMOKE-05 Kapcsolati űrlap kliensoldali védelme Üres űrlap elküldésekor a kötelező mezők hibajelzései megjelennek, és nem történik hálózati POST /api/contact kérés.

Opcionális, nem blokkoló ellenőrzések

  • A dark-mode kapcsoló működik és az oldal olvasható marad.
  • A webmail link külső URL-re mutat.
  • A jogi oldalak elérhetők és tartalmaznak főcímet.

Automatikus futtatási szerződés

  1. A teszt a BASE_URL=https://stage.mozdit.hu változót használja; lokális cím nincs beégetve.
  2. Az összes kötelező teszt legfeljebb 30 másodperc alatt lefut.
  3. Sikertelenségkor a futás ment accessibility snapshotot, konzolhibákat és Playwright trace-t.
  4. A CI a staging deploy után futtatja; sikertelenség esetén a staging kiadás hibásnak minősül, de production deployt csak explicit release szabály blokkol.
  5. A teszt a MITHOME-35 CI/staging feladathoz tartozik.

Első manuális eredmény

2026-08-17-én Playwright MCP-vel a SMOKE-01 és SMOKE-02 sikeresen lefutott a stagingen: a kezdőlap renderelt, nem volt konzolhiba, a health endpoint status: "ok" választ adott.

Megvalósítás és első automatizált futás

A tesztcsomag helye: proto/e2e/staging-smoke.spec.ts; a konfiguráció: proto/playwright.config.ts.

cd proto
npm run test:smoke:staging

Az első teljes automatizált futás 2026-08-17-én sikeres volt: mind az öt smoke teszt átment 12,2 másodperc alatt a stage.mozdit.hu környezeten.

Gitea CI bekötés

A .gitea/workflows/ci.yml két további minőségi kaput tartalmaz:

  • Docker integration & API E2E: minden normál CI futáskor elindítja a fejlesztői Compose stack-et, megvárja az alkalmazás health endpointját, majd futtatja az integration és API E2E Jest teszteket.
  • Staging Playwright smoke: csak kézi Gitea indításkor vagy napi ütemezéssel fut a https://stage.mozdit.hu ellen. A Playwright HTML riport és a trace/screenshot output artifactként megmarad.

Automatikus staging vagy production deploy nincs ebben a workflow-ban. A staging deploy továbbra is az elkülönített szerveroldali deploy eljárás feladata; annak sikeres befejezése után kell a staging smoke futást elindítani.