start project

This commit is contained in:
Hemmat
2026-08-07 21:17:17 +03:30
commit ea1e1eead6
121 changed files with 8108 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
"""Integration smoke tests, one per blueprint's main route (Chapter 12)."""
from __future__ import annotations
def test_root_redirects_to_login_when_not_authenticated(client):
resp = client.get("/", follow_redirects=False)
assert resp.status_code == 302
assert resp.headers["Location"] == "/login"
def test_root_redirects_to_overview_when_authenticated(logged_in_client):
resp = logged_in_client.get("/", follow_redirects=False)
assert resp.status_code == 302
assert resp.headers["Location"] == "/overview"
def test_healthz_is_public_and_ok(client):
resp = client.get("/healthz")
assert resp.status_code == 200
assert resp.get_json()["data"]["status"] == "ok"
def test_overview_redirects_when_not_logged_in(client):
resp = client.get("/overview")
assert resp.status_code in (302, 401)
def test_overview_reachable_when_logged_in(logged_in_client):
resp = logged_in_client.get("/overview")
assert resp.status_code == 200
def test_seo_reachable_when_logged_in(logged_in_client):
resp = logged_in_client.get("/seo")
assert resp.status_code == 200
def test_security_reachable_when_logged_in(logged_in_client):
resp = logged_in_client.get("/security")
assert resp.status_code == 200
def test_api_endpoint_returns_401_json_when_not_logged_in(client):
resp = client.get("/api/overview/kpis")
assert resp.status_code == 401
assert resp.get_json()["error"]["code"] == "unauthorized"
def test_login_with_bad_credentials_shows_flash(client):
resp = client.post("/login", data={"email": "nope@example.com", "password": "wrong"}, follow_redirects=True)
assert resp.status_code == 200
assert b"Invalid email or password" in resp.data