* Fix unit test errors.

This commit is contained in:
tianshujie
2023-11-27 17:13:35 +08:00
parent a12e1d68a1
commit b1170a138e
3 changed files with 30 additions and 68 deletions
@@ -1,17 +1,5 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('user')->gen(5);
su('admin');
zdTable('project')->gen(50);
zdTable('team')->gen(0);
$task = zdTable('task');
$task->project->range('1-20');
$task->gen(100);
/**
title=测试 programModel::appendStatToProjects();
@@ -19,17 +7,18 @@ timeout=0
cid=1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('project')->config('program')->gen(20);
zdTable('task')->config('task')->gen(20);
zdTable('team')->config('team')->gen(30);
zdTable('user')->gen(5);
su('admin');
global $tester;
$tester->loadModel('program');
$projectID = 11;
$hour = new stdclass();
$hour->totalConsumed = 15;
$hour->totalEstimate = 30;
$hour->totalLeft = 10;
$hour->progress = 60;
$hours[$projectID] = $hour;
$projects = $tester->program->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($projectID)->fetchAll('id');
$teams = $tester->program->dao->select('t1.root,t1.account')->from(TABLE_TEAM)->alias('t1')
@@ -38,31 +27,8 @@ $teams = $tester->program->dao->select('t1.root,t1.account')->from(TABLE_TEAM
->andWhere('t1.type')->eq('project')
->andWhere('t2.deleted')->eq(0)
->fetchGroup('root', 'account');
$leftTasks = $tester->program->dao->select('t2.parent as project, count(*) as tasks')->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
->where('t1.project')->eq($projectID)
->andWhere('t1.status')->notIn('cancel,closed')
->groupBy('t2.parent')
->fetchAll('project');
r($tester->program->appendStatToProjects(array())) && p() && e('0'); // 不传入任何数据
r($tester->program->appendStatToProjects($projects)) && p('11:id') && e('11'); // 只传入项目数据
$stats = $tester->program->appendStatToProjects($projects, 'hours');
r(isset($stats[$projectID]->hours)) && p() && e('0'); // 只传入项目数据和hours追加字段
$stats = $tester->program->appendStatToProjects($projects, 'teamCount', array('hours' => $hours, 'teams' => $teams, 'leftTasks' => $leftTasks));
r(isset($stats[$projectID]->teamCount)) && p() && e('1'); // 只传入项目数据和teamCount追加字段
$stats = $tester->program->appendStatToProjects($projects, 'teamMembers');
r(isset($stats[$projectID]->teamMembers)) && p() && e('0'); // 只传入项目数据和teamMembers追加字段
$stats = $tester->program->appendStatToProjects($projects, 'leftTasks');
r(isset($stats[$projectID]->leftTasks)) && p() && e('0'); // 只传入项目数据和leftTasks追加字段
$stats = $tester->program->appendStatToProjects($projects, 'hours,teamCount,teamMembers,leftTasks', array('hours' => $hours, 'teams' => $teams, 'leftTasks' => $leftTasks));
$stat = $stats[$projectID];
r(isset($stat->hours)) && p() && e('1'); //正常传入数据,检查hours字段
r(isset($stat->teamCount)) && p() && e('1'); //正常传入数据,检查teamCount字段
r(isset($stat->teamMembers)) && p() && e('1'); //正常传入数据,检查teamMembers字段
r(isset($stat->leftTasks)) && p() && e('1'); //正常传入数据,检查leftTasks字段
$stats[] = $tester->program->appendStatToProjects($projects);
$stats[] = $tester->program->appendStatToProjects($projects, $teams);
r($stats[0]) && p('11:estimate,left,consumed,teamCount,progress') && e('0,0,0,4,0.00'); // 测试不传入团队数据
r($stats[1]) && p('11:estimate,left,consumed,teamCount,progress') && e('0,0,0,4,0.00'); // 测试传入团队数据