# 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`. ```sh 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.