_user = SugarTestUserUtilities::createAnonymousUser(); $GLOBALS['current_user'] = $this->_user; $this->project = SugarTestProjectUtilities::createProject(); $projectId = $this->project->id; $projectTasksData = array ( 'parentTask' => array ( 'project_id' => $projectId, 'parent_task_id' => '', 'project_task_id' => 1, 'percent_complete' => $this->countAverage(array ($this->oldPercentValue, $this->defaultStaticSecondPercent)), 'name' => 'Task 1', ), 'firstChildTask' => array ( 'project_id' => $projectId, 'parent_task_id' => 1, 'project_task_id' => 2, 'percent_complete' => $this->oldPercentValue, 'name' => 'Task 2', ), 'secondChildTask' => array ( 'project_id' => $projectId, 'parent_task_id' => 1, 'project_task_id' => 3, 'percent_complete' => $this->defaultStaticSecondPercent, 'name' => 'Task 3', ), ); foreach ($projectTasksData as $key => $value) { $this->projectTasks[$key] = SugarTestProjectTaskUtilities::createProjectTask($value); } } public function tearDown() { SugarTestProjectUtilities::removeAllCreatedProjects(); SugarTestProjectTaskUtilities::removeAllCreatedProjectTasks(); SugarTestUserUtilities::removeAllCreatedAnonymousUsers(); unset($this->project); unset($this->projectTasks); unset($this->_user); unset($GLOBALS['current_user']); } public function countAverage($values) { $count = 0; foreach ($values as $key => $value) { $count += $value; } return (round($count / count($values))); } public function testResourceName() { $processingTask = $this->projectTasks['firstChildTask']; $processingTask->percent_complete = $this->newPercentValue; $processingTask->save(); /** * New method testing */ $processingTask->updateParentProjectTaskPercentage(); $testparentTask = new ProjectTask(); $testparentTask->retrieve($this->projectTasks['parentTask']->id); $average = $this->countAverage(array ($this->newPercentValue, $this->projectTasks['secondChildTask']->percent_complete)); $this->assertEquals($average, $testparentTask->percent_complete); } }