* [perf story #75502] Add zen unit test for showworkcount.

This commit is contained in:
wangyidong
2025-09-30 15:54:02 +08:00
parent c1b26a9659
commit 34c224b2df
3 changed files with 123 additions and 3 deletions
@@ -0,0 +1,40 @@
<?php
class myZenTest
{
public $myZenTest;
public $tester;
function __construct()
{
global $tester;
$this->tester = $tester;
$tester->app->setModuleName('my');
$this->objectModel = $tester->loadModel('my');
$this->myZenTest = initReference('my');
}
/**
* 获取批量创建需求的表单字段。
* Get form fields for batch create.
*
* @param int $recTotal
* @param string $recPerPage
* @param string $pageID
* @access public
* @return array
*/
public function showWorkCountTest(int $recTotal = 0, int $recPerPage = 20, int $pageID = 1): array
{
global $tester;
$tester->app->rawModule = 'my';
$tester->app->rawMethod = 'work';
$method = $this->myZenTest->getMethod('showWorkCount');
$method->setAccessible(true);
$count = $method->invokeArgs($this->myZenTest->newInstance(), [$recTotal, $recPerPage, $pageID]);
if(dao::isError()) return dao::getError();
return $count;
}
}
+74
View File
@@ -0,0 +1,74 @@
#!/usr/bin/env php
<?php
/**
title=测试 myZen::showWorkCount();
timeout=0
cid=1
- 执行$count @14
- 执行$count['task'] @0
- 执行$count['story'] @2
- 执行$count['bug'] @10
- 执行$count['case'] @3
- 执行$count['testtask'] @0
- 执行$count['requirement'] @2
- 执行$count['epic'] @1
- 执行$count['issue'] @0
- 执行$count['risk'] @2
- 执行$count['reviewissue'] @0
- 执行$count['qa'] @0
- 执行$count['meeting'] @0
- 执行$count['ticket'] @0
- 执行$count['feedback'] @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/myzen.unittest.class.php';
zenData('task')->gen(10);
$story = zenData('story');
$story->type->range('story,requirement,epic');
$story->gen(30);
zenData('bug')->gen(10);
zenData('case')->gen(10);
zenData('testtask')->gen(10);
zenData('risk')->gen(10);
$reviewissue = zenData('reviewissue');
$reviewissue->project->range('1');
$reviewissue->review->range('1-5');
$reviewissue->type->range('review');
$reviewissue->opinionDate->range('`2025-01-01`');
$reviewissue->resolutionDate->range('`2025-01-01`');
$reviewissue->createdDate->range('`2025-01-01`');
$reviewissue->gen(5);
zenData('nc')->gen(0);
zenData('auditplan')->gen(10);
zenData('meeting')->gen(10);
zenData('feedback')->gen(10);
zenData('ticket')->gen(10);
zenData('demand')->gen(10);
su('admin');
global $config;
$config->URAndSR = 1;
$config->enableER = 1;
$config->edition = 'ipd';
$myTester = new myZenTest();
$count = $myTester->showWorkCountTest(0, 20, 1);
r(count($count)) && p() && e('14');
r($count['task']) && p() && e('0');
r($count['story']) && p() && e('2');
r($count['bug']) && p() && e('10');
r($count['case']) && p() && e('3');
r($count['testtask']) && p() && e('0');
r($count['requirement']) && p() && e('2');
r($count['epic']) && p() && e('1');
r($count['issue']) && p() && e('0');
r($count['risk']) && p() && e('2');
r($count['reviewissue']) && p() && e('0');
r($count['qa']) && p() && e('0');
r($count['meeting']) && p() && e('0');
r($count['ticket']) && p() && e('0');
r($count['feedback']) && p() && e('0');
+9 -3
View File
@@ -162,16 +162,16 @@ class myZen extends my
* @param int $recPerPage
* @param int $pageID
* @access public
* @return void
* @return array
*/
public function showWorkCount(int $recTotal = 0, int $recPerPage = 20, int $pageID = 1): void
public function showWorkCount(int $recTotal = 0, int $recPerPage = 20, int $pageID = 1): array
{
/* Load pager. */
$this->app->loadClass('pager', true);
if($this->app->getViewType() == 'mhtml') $recPerPage = 10;
$pager = pager::init($recTotal, $recPerPage, $pageID);
$count = array('task' => 0, 'story' => 0, 'bug' => 0, 'case' => 0, 'testtask' => 0, 'requirement' => 0, 'issue' => 0, 'risk' => 0, 'qa' => 0, 'meeting' => 0, 'ticket' => 0, 'feedback' => 0);
$count = array('task' => 0, 'story' => 0, 'bug' => 0, 'case' => 0, 'testtask' => 0, 'requirement' => 0, 'epic' => 0, 'issue' => 0, 'risk' => 0, 'reviewissue' => 0, 'qa' => 0, 'meeting' => 0, 'ticket' => 0, 'feedback' => 0);
/* Get the number of tasks assigned to me. */
$this->loadModel('task')->getUserTasks($this->app->user->account, 'assignedTo', 0, $pager);
@@ -233,6 +233,7 @@ class myZen extends my
$this->view->todoCount = $count;
$this->view->isOpenedURAndSR = $isOpenedURAndSR;
return $count;
}
/**
@@ -275,6 +276,11 @@ class myZen extends my
$this->loadModel('risk')->getUserRisks('assignedTo', $this->app->user->account, 'id_desc', $pager);
$count['risk'] = $pager->recTotal;
/* Get the number of reviewissues assigned to me. */
$pager->recTotal = 0;
$issues = $this->loadModel('reviewissue')->getUserReviewissues('assignedTo', $this->app->user->account, 'id_desc', $pager);
$count['reviewissue'] = $pager->recTotal;
/* Get the number of nc assigned to me. */
$pager->recTotal = 0;
$this->my->getNcList('assignedToMe', 'id_desc', $pager, 'active');