v0.1.5: detect free windows in the estimate fallback + add API tests
All checks were successful
build-apk / build (push) Successful in 49m41s
All checks were successful
build-apk / build (push) Successful in 49m41s
App: - When the single-estimate fallback sees MaxTime 0 (or an all-$0.00 ladder), show "Parking is currently free" instead of a bogus $0.00 purchase ladder. Free-detection extracted to tested client helpers (isFreeEstimate/ladderAllFree). Client + tests (node:test, zero deps): - src/estimates.ts: pure isFreeEstimate/ladderAllFree helpers (exported). - test/estimates + test/http (mocked fetch): headers, query serialization, error->ParkSmarterApiError, rolling Auth_Token refresh, 401 clears token. - test/integration: live checks against the Sandpoint (DSB) zones; targets the `test` instance by default and SKIPS when it's unreachable (non-prod is IP-restricted -> 403). Verified 3/3 green against prodv2 read-only. - CI runs `npm test` as a build gate. Note: dev/stage/test instances return 403 "Web App - Unavailable" from the public internet (IP-restricted). API schema is otherwise unchanged vs Jul 6. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
f8d9e2970c
commit
7212badd2d
9 changed files with 276 additions and 13 deletions
|
|
@ -48,6 +48,11 @@ jobs:
|
|||
- name: Build the API client
|
||||
run: npm run build --workspace parksmarter-client
|
||||
|
||||
# Unit tests (mocked fetch) gate the build; integration tests skip here
|
||||
# because the runner can't reach the IP-restricted non-prod instances.
|
||||
- name: Run client tests
|
||||
run: npm test --workspace parksmarter-client
|
||||
|
||||
# RN 0.79 wants a specific NDK; install it if the image doesn't ship it (best-effort).
|
||||
- name: Ensure NDK
|
||||
run: |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue