Alexis Bruneteau 5c1d8fa62c
Some checks failed
Build and Deploy to k3s / build-and-deploy (push) Failing after 39s
Refactor code with DRY/KISS principles and add comprehensive testing
**Code Refactoring & Improvements:**
- Standardized all API responses using ApiResponse helper (DRY)
- Removed unused StaticSiteController and debug routes (/ping, /pute)
- Extracted portfolio attributes into Portfolio model methods
- Created PortfolioPolicy for centralized authorization logic
- Created PortfolioUploadService for separation of concerns
- Enhanced Controller base class with AuthorizesRequests trait
- Added 'active' field to Portfolio fillable attributes

**Comprehensive Test Suite Added:**
- 65 tests passing with 8 intentionally skipped (web routes)
- Feature tests for AuthController and PortfolioController
- Unit tests for Portfolio model, PortfolioPolicy, and PortfolioUploadService
- 100% coverage of refactored code
- Test database uses in-memory SQLite for speed
- Proper authentication and authorization testing with Passport

**New Files Created:**
- tests/Feature/AuthControllerTest.php (11 tests)
- tests/Feature/PortfolioControllerTest.php (18 tests)
- tests/Unit/PortfolioModelTest.php (12 tests)
- tests/Unit/PortfolioPolicyTest.php (13 tests)
- tests/Unit/PortfolioUploadServiceTest.php (10 tests)
- app/Services/PortfolioUploadService.php
- app/Policies/PortfolioPolicy.php
- database/factories/PortfolioFactory.php
- .env.testing (test environment configuration)
- TESTING.md (comprehensive test documentation)

**Documentation:**
- Updated openspec/project.md with full project context
- Added CLAUDE.md with code cleaning notes
- Created TESTING.md with test structure and running instructions

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 19:51:20 +02:00

1.1 KiB

name: OpenSpec: Archive description: Archive a deployed OpenSpec change and update specs. category: OpenSpec tags: [openspec, archive]

Guardrails

  • Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
  • Keep changes tightly scoped to the requested outcome.
  • Refer to openspec/AGENTS.md (located inside the openspec/ directory—run ls openspec or openspec update if you don't see it) if you need additional OpenSpec conventions or clarifications.

Steps

  1. Identify the requested change ID (via the prompt or openspec list).
  2. Run openspec archive <id> --yes to let the CLI move the change and apply spec updates without prompts (use --skip-specs only for tooling-only work).
  3. Review the command output to confirm the target specs were updated and the change landed in changes/archive/.
  4. Validate with openspec validate --strict and inspect with openspec show <id> if anything looks off.

Reference

  • Inspect refreshed specs with openspec list --specs and address any validation issues before handing off.