SkoolLens

Self-test

Deterministic, offline, no API key. Runs the score engine, paste paths, re-audit delta, bot-check detection, and the Flask routes.

ALL CHECKS PASSED
SkoolLens MVP — self-test
========================================
[PASS] canonicalize URL variants
      4 cases incl. bare slug & /about normalization
[PASS] fixture good score in [75,100) + dimension sum invariant
      total=86, grade=A
[PASS] fixture medium score in [45,75) + dimension sum invariant
      total=61, grade=C
[PASS] fixture bad score in [0,45) + dimension sum invariant
      total=28, grade=F
[PASS] fixture ordering good>medium>bad
      good=86 (in-range, sum-ok=True), medium=61 (in-range, sum-ok=True), bad=28 (in-range, sum-ok=True)
[PASS] paste-text pipeline → score + rewrite (no API key)
      total=64, paragraphs=3, faq=4, src=template
[PASS] paste-html pipeline detects media (video)
      video=True, images=0
[PASS] re-audit delta detects improvement
      before=61 after=76 delta=18
[PASS] bot-check detection flags real Skool WAF/signup shell
      markers on real fetched sample, 224423 bytes
[PASS] bot-check detection passes normal content
      plain content not flagged
[PASS] POST /audit (paste, with email) → redirect to result
      status=302 -> /audit/81d84d692c78
[PASS] result page shows score + email gate when no email
      status=200, gate-present=True
[PASS] email gate unlocks copy-ready rewrites
      unlock->302, page->200
[PASS] blocked page renders with paste fallback
      template rendered
[PASS] re-audit route redirects to a new audit
      status=302 -> /audit/1b6f368b25d9
[PASS] GET /checkout/single redirects to Stripe
      status=302 loc=https://buy.stripe.com/7sYdR84eZe2T2mg8oP57W15
[PASS] GET /examples/good renders
      status=200
[PASS] GET /examples/medium renders
      status=200
[PASS] GET /examples/bad renders
      status=200
[PASS] GET / landing renders
      status=200
[PASS] GET /checkout/single redirects to Stripe
      status=302 loc=https://buy.stripe.com/7sYdR84eZe2T2mg8oP57W15
[PASS] GET /self-test renders
      status=200
========================================
22/22 checks passed
Back to audit