"""응답 envelope 가 프론트 CommonResponse 모양인지.""" ENVELOPE_KEYS = {"success", "statusCode", "code", "message", "data", "counts", "errors", "timestamp", "meta"} def test_health_is_wrapped(api, db): body = api.get("/api/v1/health").json() assert set(body) == ENVELOPE_KEYS assert body["success"] is True and body["statusCode"] == 200 assert body["data"]["app"] def test_error_is_wrapped_with_code(api, db): res = api.get("/api/v1/users/me") body = res.json() assert res.status_code == 401 assert set(body) == ENVELOPE_KEYS assert body["success"] is False assert body["code"] == "UNAUTHORIZED" assert body["data"] is None assert body["errors"] and body["message"] def test_validation_error_is_400(api, db): res = api.post("/api/v1/auth/login", {"email": "not-an-email"}, format="json") body = res.json() assert res.status_code == 400 assert body["code"] == "VALIDATION_ERROR" assert "password" in body["message"]