231 lines
5.9 KiB
PHP
231 lines
5.9 KiB
PHP
<?php
|
|
class caselibTest
|
|
{
|
|
public function __construct()
|
|
{
|
|
global $tester;
|
|
$this->objectModel = $tester->loadModel('caselib');
|
|
}
|
|
|
|
/**
|
|
* 测试通过 id 获取用例库信息。
|
|
* Get by ID test.
|
|
*
|
|
* @param int $libID
|
|
* @param bool $setImgSize
|
|
* @access public
|
|
* @return array|object|false
|
|
*/
|
|
public function getByIdTest(int $libID, bool $setImgSize = false): array|object|false
|
|
{
|
|
$object = $this->objectModel->getById($libID, $setImgSize);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $object;
|
|
}
|
|
|
|
/**
|
|
* 测试更新用例库。
|
|
* Update case lib test.
|
|
*
|
|
* @param object $lib
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function updateTest(object $lib)
|
|
{
|
|
$this->objectModel->update($lib);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $this->objectModel->getByID($lib->id);
|
|
}
|
|
|
|
/**
|
|
* 测试删除用例库。
|
|
* Delete test.
|
|
*
|
|
* @param mixed $libID
|
|
* @param string $table
|
|
* @access public
|
|
* @return array|object
|
|
*/
|
|
public function deleteTest(int $libID, string $table = ''): array|object
|
|
{
|
|
$objects = $this->objectModel->delete($libID, $table);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $this->objectModel->getByID($libID);
|
|
}
|
|
|
|
/**
|
|
* 测试获取用例库键对。
|
|
* Get libraries test.
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
public function getLibrariesTest(): array
|
|
{
|
|
$objects = $this->objectModel->getLibraries();
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $objects;
|
|
}
|
|
|
|
/**
|
|
* 测试获取用例库列表。
|
|
* Get list test.
|
|
*
|
|
* @param string $orderBy
|
|
* @param mixed $pager
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function getListTest($orderBy = 'id_desc', $pager = null)
|
|
{
|
|
$objects = $this->objectModel->getList('all', $orderBy, $pager);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $objects;
|
|
}
|
|
|
|
/**
|
|
* 创建用例库单元测试方法。
|
|
* Create case lib test function.
|
|
*
|
|
* @param array $params
|
|
* @access public
|
|
* @return array|object
|
|
*/
|
|
public function createTest(array $params = array()): array|object
|
|
{
|
|
$lib = new stdclass();
|
|
foreach($params as $key => $value) $lib->{$key} = $value;
|
|
|
|
$libID = $this->objectModel->create($lib);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
return $this->objectModel->getById($libID);
|
|
}
|
|
|
|
/**
|
|
* 测试获取用例库的用例。
|
|
* Get libcases test.
|
|
*
|
|
* @param int $libID
|
|
* @param string $browseType
|
|
* @param int $moduleID
|
|
* @param string $sort
|
|
* @access public
|
|
* @return array|string
|
|
*/
|
|
public function getLibCasesTest(int $libID, string $browseType, int $moduleID = 0, string $sort = 'id_desc'): array|string
|
|
{
|
|
$objects = $this->objectModel->getLibCases($libID, $browseType, 0, $moduleID, $sort);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return implode(',', array_keys($objects));
|
|
}
|
|
|
|
/**
|
|
* Create from import test.
|
|
*
|
|
* @param mixed $libID
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function createFromImportTest($libID)
|
|
{
|
|
$objects = $this->objectModel->createFromImport($libID);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $objects;
|
|
}
|
|
|
|
/**
|
|
* 测试获取用例库 1.5 级下拉的链接。
|
|
* Test get lib link.
|
|
*
|
|
* @param string $module
|
|
* @param string $method
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
public function getLibLinkTest(string $module, string $method): array
|
|
{
|
|
$link = $this->objectModel->getLibLink($module, $method);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
$isCaselibBrowse = preg_match('/caselib.*browse/', $link) ? 1 : 0;
|
|
$isItself = preg_match("/{$module}.*{$method}/", $link) ? 1 : 0;
|
|
return array('isCaselibBrowse' => $isCaselibBrowse, 'isItself' => $isItself);
|
|
}
|
|
|
|
/**
|
|
* 测试初始化导入的用例
|
|
* Test init imported case.
|
|
*
|
|
* @param object $data
|
|
* @access public
|
|
* @return array|bool
|
|
*/
|
|
public function initImportedCaseTest(object $data): bool|array
|
|
{
|
|
$cases = $this->objectModel->initImportedCase($data);
|
|
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
return $cases;
|
|
}
|
|
|
|
/**
|
|
* 测试插入一条导入的用例。
|
|
* Test insert a imported case.
|
|
*
|
|
* @param int $key
|
|
* @param object $caseData
|
|
* @param object $data
|
|
* @param bool $forceNotReview
|
|
* @access public
|
|
* @return array|object|false
|
|
*/
|
|
public function insertImportedCaseTest(int $key, object $caseData, object $data, bool $forceNotReview): array|object|false
|
|
{
|
|
$caseID = $this->objectModel->insertImportedCase($key, $caseData, $data, $forceNotReview);
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
global $tester;
|
|
return $tester->loadModel('testcase')->getByID($caseID);
|
|
}
|
|
|
|
/**
|
|
* 测试导入的用例覆盖已存在的用例。
|
|
* Test update a imported case.
|
|
*
|
|
* @param int $key
|
|
* @param object $caseData
|
|
* @param object $data
|
|
* @param bool $forceNotReview
|
|
* @access public
|
|
* @return array|object|false
|
|
*/
|
|
public function updateImportedCaseTest(int $key, object $caseData, object $data, bool $forceNotReview): array|object|false
|
|
{
|
|
$caseID = $data->id[$key];
|
|
|
|
$this->objectModel->updateImportedCase($key, $caseData, $data, $forceNotReview);
|
|
if(dao::isError()) return dao::getError();
|
|
|
|
global $tester;
|
|
return $tester->loadModel('testcase')->getByID($caseID);
|
|
}
|
|
}
|