Skip to content

Implement Comprehensive Testing Strategy#10

Merged
neil-pack merged 7 commits into
masterfrom
testing-strategy
May 19, 2026
Merged

Implement Comprehensive Testing Strategy#10
neil-pack merged 7 commits into
masterfrom
testing-strategy

Conversation

@neil-pack
Copy link
Copy Markdown
Contributor

Implementing a comprehensive testing strategy for fs-php-lite SDK to validate changes, ensure quality, and provide confidence for external developers using the SDK. This includes automated tests, example implementations, and acceptance testing approaches

neil-pack and others added 7 commits May 18, 2026 12:42
  1. Removed tests/Integration/SandboxCredentials.php from git (committed credentials)
  2. Created tests/Integration/SandboxCredentials.example.php as a template
  3. Updated ApiTestCase.php to load credentials from environment variables first, with fallback to local file
  4. Added tests/Integration/SandboxCredentials.php to .gitignore
  5. Created local copy with cassette credentials (git-ignored) so tests run with VCR
… badges

Issue 1: Remove IDE configuration files
- Delete .idea/ directory from version control
- Add .idea/ to .gitignore to prevent future commits
- IDE configuration should remain local to each developer

Issue 2: Improve integration test quality and documentation
- Change 5 integration tests to fail explicitly instead of silently skipping
- Tests now show clear error: "VCR cassette may not properly replay X-ENTITY-ID header"
- Improve testRedirect documentation explaining VCR limitation
- Add "Known VCR Limitations" section to TESTING.md
- Document that redirect functionality is verified via manual testing

Issue 3: Add CI status visibility and strengthen version claims
- Add GitHub Actions workflow badge to README
- Add PHP version badge (8.1, 8.2, 8.3) to README
- Update TEST_RESULTS.txt to distinguish local vs CI PHP versions
- Add CI verification checklist with action items
- Mark integration tests as failing (not skipped) to accurately reflect VCR limitation

Next steps:
- Push branch to trigger CI and verify all PHP versions pass
- Check workflow results at: https://github.com/PermanentOrg/fs-php-lite/actions
- Optionally investigate VCR header extraction issue

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  - testPost - Creates a person via POST
  - testGet - Retrieves a person via GET
  - testHead - HEAD request for person
  - testDelete - Deletes a person
…s" explaining:

    - Why testPendingModification is skipped
    - That it's a VCR infrastructure limitation, not an SDK defect
    - How to verify the functionality manually
  2. Updated "Redirect Handling" section to remove the now-incorrect claim that redirects are verified through testPendingModification
  3. Updated "Workarounds" section to mention "dynamic workflows" as another aspect requiring manual testing

  The documentation now clearly explains both skipped tests (testRedirect and testPendingModification) and their reasons.
@neil-pack neil-pack merged commit 9571cda into master May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant