create([ 'email' => 'manager@example.com', 'password' => bcrypt('password123'), 'role' => 'manager', 'active' => true, ]); $response = $this->postJson('/api/auth/login', [ 'email' => 'manager@example.com', 'password' => 'password123', ]); return $response->json('access_token'); } // 3.1.13 API test: POST /api/projects creates project public function test_post_projects_creates_project() { $this->markTestIncomplete('3.1.13: Implement POST /api/projects endpoint'); } // 3.1.14 API test: Project code must be unique public function test_project_code_must_be_unique() { $this->markTestIncomplete('3.1.14: Implement project code uniqueness validation'); } // 3.1.15 API test: Status transition validation public function test_status_transition_validation() { $this->markTestIncomplete('3.1.15: Implement status state machine validation'); } // 3.1.16 API test: Estimate approved requires estimate value public function test_estimate_approved_requires_estimate_value() { $this->markTestIncomplete('3.1.16: Implement estimate approved validation'); } // 3.1.17 API test: Full workflow state machine public function test_full_workflow_state_machine() { $this->markTestIncomplete('3.1.17: Implement full workflow progression'); } // 3.1.18 API test: PUT /api/projects/{id}/status transitions public function test_put_projects_status_transitions() { $this->markTestIncomplete('3.1.18: Implement PUT /api/projects/{id}/status endpoint'); } // 3.1.19 API test: PUT /api/projects/{id}/estimate sets approved public function test_put_projects_estimate_sets_approved() { $this->markTestIncomplete('3.1.19: Implement PUT /api/projects/{id}/estimate endpoint'); } // 3.1.20 API test: PUT /api/projects/{id}/forecast updates effort public function test_put_projects_forecast_updates_effort() { $this->markTestIncomplete('3.1.20: Implement PUT /api/projects/{id}/forecast endpoint'); } // 3.1.21 API test: Validate forecasted sum equals approved public function test_validate_forecasted_sum_equals_approved() { $this->markTestIncomplete('3.1.21: Implement forecasted effort validation'); } }