* Refactor myModel::getReviewingDemands, and add its unit test.
This commit is contained in:
+5
-5
@@ -955,14 +955,15 @@ class myModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待评审的需求池需求。
|
||||
* Get reviewing demands.
|
||||
*
|
||||
* @param string $orderBy
|
||||
* @param bool $checkExists
|
||||
* @param string $orderBy
|
||||
* @param bool $checkExists
|
||||
* @access public
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function getReviewingDemands($orderBy = 'id_desc', $checkExists = false)
|
||||
public function getReviewingDemands(string $orderBy = 'id_desc', bool $checkExists = false): array|bool
|
||||
{
|
||||
if(!common::hasPriv('demand', 'review')) return array();
|
||||
|
||||
@@ -991,7 +992,6 @@ class myModel extends model
|
||||
}
|
||||
|
||||
$actions = $this->dao->select('objectID, `date`')->from(TABLE_ACTION)->where('objectType')->eq('demand')->andWhere('objectID')->in(array_keys($demands))->andWhere('action')->eq('submitreview')->orderBy('`date`')->fetchPairs('objectID', 'date');
|
||||
|
||||
foreach($actions as $demandID => $date) $demands[$demandID]->time = $date;
|
||||
return array_values($demands);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/my.class.php';
|
||||
|
||||
zdTable('demand')->config('demand_reviewing')->gen('20');
|
||||
zdTable('demandreview')->gen('20');
|
||||
zdTable('user')->gen('5');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 myModel->getReviewingDemands();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$account = array('admin', 'user1');
|
||||
$orderBy = array('id_desc', 'id_asc');
|
||||
$checkExist = array(false, true);
|
||||
|
||||
$my = new myTest();
|
||||
r($my->getReviewingDemandsTest($account[0], $orderBy[0], $checkExist[0])) && p() && e('19,15,11,7,3'); // 测试获取用户 account 排序 id_desc 的需求池需求id。
|
||||
r($my->getReviewingDemandsTest($account[0], $orderBy[0], $checkExist[1])) && p() && e('exist'); // 测试获取用户 account 排序 id_desc 的需求池需求是否存在。
|
||||
r($my->getReviewingDemandsTest($account[0], $orderBy[1], $checkExist[0])) && p() && e('3,7,11,15,19'); // 测试获取用户 account 排序 id_asc 的需求池需求id。
|
||||
r($my->getReviewingDemandsTest($account[0], $orderBy[1], $checkExist[1])) && p() && e('exist'); // 测试获取用户 account 排序 id_asc 的需求池需求是否存在。
|
||||
r($my->getReviewingDemandsTest($account[1], $orderBy[0], $checkExist[0])) && p() && e('empty'); // 测试获取用户 account 排序 id_desc 的需求池需求id。
|
||||
r($my->getReviewingDemandsTest($account[1], $orderBy[0], $checkExist[1])) && p() && e('empty'); // 测试获取用户 account 排序 id_desc 的需求池需求是否存在。
|
||||
r($my->getReviewingDemandsTest($account[1], $orderBy[1], $checkExist[0])) && p() && e('empty'); // 测试获取用户 account 排序 id_asc 的需求池需求id。
|
||||
r($my->getReviewingDemandsTest($account[1], $orderBy[1], $checkExist[1])) && p() && e('empty'); // 测试获取用户 account 排序 id_asc 的需求池需求是否存在。
|
||||
@@ -424,4 +424,25 @@ class myTest
|
||||
if($return === true) return 'exist';
|
||||
return !empty($return) ? implode(',', array_column($return, 'id')) : 'empty';
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试获取审批中的用例。
|
||||
* Test get reviewing demands.
|
||||
*
|
||||
* @param string $account
|
||||
* @param string $orderBy
|
||||
* @param bool $checkExist
|
||||
* @access public
|
||||
* @return int|string|array
|
||||
*/
|
||||
public function getReviewingDemandsTest(string $account, string $orderBy, bool $checkExist): int|string|array
|
||||
{
|
||||
su($account);
|
||||
$return = $this->objectModel->getReviewingDemands($orderBy, $checkExist);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
if($return === true) return 'exist';
|
||||
return !empty($return) ? implode(',', array_column($return, 'id')) : 'empty';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
title: zt_story
|
||||
desc: story data.
|
||||
author: Mengyi Liu
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: status
|
||||
range: active,reviewing{3}
|
||||
- field: version
|
||||
range: 1
|
||||
Reference in New Issue
Block a user