release: freeze 2026-10-15 validated release baseline
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s

This commit is contained in:
WorkBuddy
2026-10-15 09:47:31 +08:00
parent 827c23db1d
commit 3c2b967274
149 changed files with 4324 additions and 348 deletions
@@ -0,0 +1,31 @@
from pathlib import Path
import json
import unittest
ROOT = Path(__file__).parents[2]
class ReferralPageContractTest(unittest.TestCase):
def test_referral_confirmation_page_is_registered_and_user_only(self):
app = json.loads((ROOT / "miniapp/app.json").read_text(encoding="utf-8"))
self.assertIn("pages/referral-confirmation/referral-confirmation", app["pages"])
page = ROOT / "miniapp/pages/referral-confirmation/referral-confirmation.js"
source = page.read_text(encoding="utf-8")
self.assertIn("getMyReferralHistory", source)
self.assertIn("confirmReferral", source)
self.assertIn("load()", source)
self.assertNotIn("operatorToken", source)
service_source = (ROOT / "miniapp/services/referralService.js").read_text(encoding="utf-8")
self.assertIn("referral-confirm:${targetId}:${targetType}", service_source)
def test_referral_page_does_not_offer_operator_actions_or_sensitive_fields(self):
source = (ROOT / "miniapp/pages/referral-confirmation/referral-confirmation.wxml").read_text(encoding="utf-8")
self.assertNotIn("代用户", source)
self.assertNotIn("手机号", source)
self.assertNotIn("身份证", source)
self.assertIn("确认转介", source)
if __name__ == "__main__":
unittest.main()