Files
headroom/backend/tests/Unit/Models/ProjectModelTest.php
Santhosh Janardhanan 8f70e81d29 test(project): Add Phase 1 pending tests for Project Lifecycle
Capability 3: Project Lifecycle Management - Phase 1 (RED)

E2E Tests (12 test.fixme):
- Create project with unique code
- Reject duplicate project code
- Valid/invalid status transitions
- Estimate approved requires estimate > 0
- Workflow progression
- Estimate rework path
- Project on hold
- Cancelled project
- Set approved estimate
- Update forecasted effort
- Validate forecasted effort

API Tests (9 markTestIncomplete):
- POST /api/projects
- Project code uniqueness
- Status transition validation
- Estimate/forecast endpoints

Unit Tests (3 markTestIncomplete):
- Project status state machine
- ProjectPolicy authorization
- Forecasted effort validation

All 173 tests passing (31 backend, 32 frontend, 110 E2E)
2026-02-18 23:50:48 -05:00

31 lines
804 B
PHP

<?php
namespace Tests\Unit\Models;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use App\Models\Project;
use App\Models\ProjectStatus;
use App\Models\ProjectType;
class ProjectModelTest extends TestCase
{
use RefreshDatabase;
// 3.1.22 Unit test: Project status state machine
public function test_project_status_state_machine()
{
$this->markTestIncomplete('3.1.22: Implement project status state machine tests');
}
public function test_project_can_transition_to_valid_status()
{
$this->markTestIncomplete('3.1.22: Test valid status transitions');
}
public function test_project_cannot_transition_to_invalid_status()
{
$this->markTestIncomplete('3.1.22: Test invalid status transitions are rejected');
}
}