Adds --all, --max-pages, and --cursor options to search command, enabling users to fetch all search results through automatic pagination. Follows the same pattern as bookmarks pagination for consistency.
1.8 KiB
1.8 KiB
Testing
Unit tests (default)
pnpm test
Live tests (hits Twitter/X)
Runs the CLI against real Twitter/X GraphQL endpoints to verify read-only commands still work.
Requirements:
- Auth cookies in env:
AUTH_TOKEN(orTWITTER_AUTH_TOKEN)CT0(orTWITTER_CT0)
- Network access
Run:
pnpm test:livepnpm bird following --all --max-pages 2 --json --cookie-source chrome --chrome-profile Defaultpnpm bird list-timeline <list-id> --all --max-pages 2 --json --cookie-source chrome --chrome-profile Defaultpnpm bird search "from:steipete" --all --max-pages 2 --json --cookie-source chrome --chrome-profile Defaultpnpm bird home --count 5 --json --cookie-source chrome --chrome-profile Defaultpnpm bird home --count 5 --following --json --cookie-source chrome --chrome-profile Default
Notes:
- Live tests are skipped unless
BIRD_LIVE=1(set bypnpm test:live). - Search query is configurable via
BIRD_LIVE_SEARCH_QUERY. - Command timeout is configurable via
BIRD_LIVE_TIMEOUT_MS(ms). - Cookie extraction timeout is configurable via
BIRD_LIVE_COOKIE_TIMEOUT_MS(ms). - Spawned CLI
NODE_ENVdefaults toproduction(override withBIRD_LIVE_NODE_ENV). - If you don't tweet, set
BIRD_LIVE_TWEET_IDto a known tweet ID to use forread/replies/thread. - Long-form article coverage: set
BIRD_LIVE_LONGFORM_TWEET_IDto a known article tweet ID (example:2007184284944322584from @X; refresh by finding a tweet witharticleviabird user-tweets X -n 20 --json). - Optional: set
BIRD_LIVE_BOOKMARK_FOLDER_IDto exercisebookmarks --folder-id. bird query-ids --freshlive coverage: setBIRD_LIVE_QUERY_IDS_FRESH=1.- The live suite may hit internal X endpoints (v1.1 REST) as fallback; it still uses cookie auth (no developer API key).