lawn-estimator-dev / tests /test_api.py

Commit History

feat(admin): DB-backed tenant + key issuance β€” one-click client onboarding (#141)
a2a8f31
Running
unverified

TempuraML Claude Opus 4.8 commited on

feat: WS5 β€” service bundles (config builder β†’ widget packages β†’ Overview) (#138)
7507549
unverified

TempuraML Claude Opus 4.8 commited on

feat(config): WS4 β€” map-drawn service area (Leaflet + OSM) (#137)
1cedb6a
unverified

TempuraML Claude Opus 4.8 commited on

feat(dashboard): rework Usage into an operator Overview
73b559d

TempuraML Claude Opus 4.8 commited on

feat(book): store per-booking line items long-format with a purchased flag
10451c8

TempuraML Claude Opus 4.8 commited on

feat(widget): capture the customer's outline edit as measurement provenance
5b957cc

TempuraML Claude Opus 4.8 commited on

feat(dashboard): persist measurement edits + provenance history + revert
57faded

TempuraML Claude Opus 4.8 commited on

feat(dashboard): address popup (lawn overlay + price breakdown) + batch→leads
cb4f298

TempuraML Claude Opus 4.8 commited on

feat(app): async batch via Cloud Tasks, serverless-safe (B3)
88b6bbb

TempuraML Claude Opus 4.8 commited on

feat(app): interactive quotes jump the batch queue (A2)
8340eec

TempuraML Claude Opus 4.8 commited on

feat(app): persist batch jobs + results in the DB (A1)
cec325f

TempuraML Claude Opus 4.8 commited on

feat(app): W5 β€” in-widget checkout + operator-configurable qualifying questions (#105)
284adfd
unverified

TempuraML commited on

feat(app): DB-backed team invitations; retire TENANT_OPERATORS (Option B) (#107)
bcb892b
unverified

TempuraML commited on

feat(app): Clerk auth β€” session verification + sign-in UI + invite-only provisioning (#103)
e041fd4
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): log Google's status/error_message on empty autocomplete (#98)
4be4775
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): internal platform-admin console (separate realm, route A) β€” cross-tenant ops (#97)
5e50e00
unverified

TempuraML Claude Opus 4.8 commited on

fix(app): snippet iframe uses https behind the TLS proxy (Fix A) (#99)
784395b
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): P2 2e β€” embed-snippet generator in the dashboard (#92)
6219511
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): GET /leads β€” tenant-scoped read API (P2c backend, dashboard leads list) (#83)
750c6bd
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): server-side /autocomplete proxy (scales onboarding, no browser Google key) (#82)
def9e08
unverified

TempuraML Claude Opus 4.8 commited on

fix(app): run-ledger ops is INTERNAL β€” pull the Health card out of the client dashboard
073d22d

TempuraML Claude Opus 4.8 commited on

feat(app): P3 (partial) β€” record quote failures + ops view + schema migration
75360ad

TempuraML Claude Opus 4.8 commited on

feat(app): P2 2e β€” batch-measurement edit (customer quotes locked)
ccc44ff

TempuraML Claude Opus 4.8 commited on

feat(app): P2 2d β€” batch organic-lead screen (session-scoped, metered)
0cd2c50

TempuraML Claude Opus 4.8 commited on

feat(app): P2 dashboard PAGE β€” leads / usage / config editor / audit (no Clerk needed)
ae44d0b

TempuraML Claude Opus 4.8 commited on

feat(app): P2b config-editor endpoints + dev-auth shim (dashboard buildable w/o Clerk)
da89019

TempuraML Claude Opus 4.8 commited on

feat(app): P2a β€” dashboard tenant-isolation middleware (Clerk identity, our authz)
33e28df

TempuraML Claude Opus 4.8 commited on

feat(app): P1b β€” persist captured leads to a durable table
d2525ce

TempuraML Claude Opus 4.8 commited on

feat(app): P1a β€” durable run ledger (SQLite) replaces in-memory metering
85ed433

TempuraML Claude Opus 4.8 commited on

feat(app): W6 β€” per-tenant branding + auto-resizing embed snippet
cff518d

TempuraML Claude Opus 4.8 commited on

feat(app): W2b Turnstile CAPTCHA + W3b Places autocomplete (#74)
cb7dff3
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): W4a β€” "confirm your lawn" overlay (see what's marked) (#71)
08d5c98
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): per-tenant email sender (emails from the tenant's own domain) (#70)
b8f182d
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): W3 β€” lead-capture popup over the measuring wait (#65)
731e4d8
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): W2 β€” publishable widget key + domain-lock (#64)
ce14383
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): W1 β€” embeddable quote widget (shell + happy-path) (#63)
fa5dc3e
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): unified per-tenant quote metering (#61)
5af92d0
unverified

TempuraML Claude Opus 4.8 commited on

feat(app): per-area pricing + reject out-of-service-area before measuring (#60)
b144a6d
unverified

TempuraML Claude Opus 4.8 commited on

fix(api): backpressure, per-client ownership, viz lifecycle, single inference
3f82c8e

TempuraML Claude Fable 5 commited on

fix(security): sanitize error responses, escape lead email, harden inputs
e609f09

TempuraML Claude Fable 5 commited on

feat(api): labeled API keys β€” attribute request logs per client
51d5de9

TempuraML Claude Fable 5 commited on

feat(api): customer quote email + lead capture on POST /quote
d9751ec

TempuraML Claude Fable 5 commited on

feat(pricing): config-driven per-service pricing engine (Phase 6)
9bda103

TempuraML Claude Opus 4.8 commited on

test: add zero-network pytest suite (Phase 4)
10fe5f1

TempuraML Claude Opus 4.8 commited on