From 8b5cdecb62baadcca02d6bbaf5f810f29f06d5d7 Mon Sep 17 00:00:00 2001 From: zhangxuwen Date: Fri, 1 Apr 2022 09:39:40 +0800 Subject: [PATCH] caselib and projectrelease --- test/class/caselib.class.php | 134 ++++++++++++ test/class/projectrelease.class.php | 195 ++++++++++++++++++ test/model/caselib/batchcreatecase.php | 35 ++++ test/model/caselib/buildsearchform.php | 25 +++ test/model/caselib/create.php | 35 ++++ test/model/caselib/createfromimport.php | 38 ++++ test/model/caselib/delete.php | 20 ++ test/model/caselib/getbyid.php | 20 ++ test/model/caselib/getlibcases.php | 26 +++ test/model/caselib/getliblink.php | 24 +++ test/model/caselib/getlibraries.php | 18 ++ test/model/caselib/getlist.php | 19 ++ test/model/caselib/savelibstate.php | 19 ++ test/model/caselib/setlibmenu.php | 22 ++ test/model/caselib/update.php | 29 +++ test/model/projectrelease/getbyid.php | 23 +++ test/model/projectrelease/getlast.php | 25 +++ test/model/projectrelease/getlist.php | 34 +++ .../projectrelease/getreleasedbuilds.php | 25 +++ test/model/projectrelease/linkbug.php | 32 +++ test/model/projectrelease/linkstory.php | 23 +++ test/model/projectrelease/unlinkstory.php | 32 +++ test/model/projectrelease/update.php | 42 ++++ 23 files changed, 895 insertions(+) create mode 100644 test/class/caselib.class.php create mode 100644 test/class/projectrelease.class.php create mode 100755 test/model/caselib/batchcreatecase.php create mode 100755 test/model/caselib/buildsearchform.php create mode 100755 test/model/caselib/create.php create mode 100755 test/model/caselib/createfromimport.php create mode 100755 test/model/caselib/delete.php create mode 100755 test/model/caselib/getbyid.php create mode 100755 test/model/caselib/getlibcases.php create mode 100755 test/model/caselib/getliblink.php create mode 100755 test/model/caselib/getlibraries.php create mode 100755 test/model/caselib/getlist.php create mode 100755 test/model/caselib/savelibstate.php create mode 100755 test/model/caselib/setlibmenu.php create mode 100755 test/model/caselib/update.php create mode 100755 test/model/projectrelease/getbyid.php create mode 100755 test/model/projectrelease/getlast.php create mode 100755 test/model/projectrelease/getlist.php create mode 100755 test/model/projectrelease/getreleasedbuilds.php create mode 100755 test/model/projectrelease/linkbug.php create mode 100755 test/model/projectrelease/linkstory.php create mode 100755 test/model/projectrelease/unlinkstory.php create mode 100755 test/model/projectrelease/update.php diff --git a/test/class/caselib.class.php b/test/class/caselib.class.php new file mode 100644 index 0000000000..3c7ce07afc --- /dev/null +++ b/test/class/caselib.class.php @@ -0,0 +1,134 @@ +objectModel = $tester->loadModel('caselib'); + } + + public function setLibMenuTest($libraries, $libID) + { + $objects = $this->objectModel->setLibMenu($libraries, $libID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function saveLibStateTest($libID = 0, $libraries = array()) + { + $objects = $this->objectModel->saveLibState($libID, $libraries); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getByIdTest($libID, $setImgSize = false) + { + $objects = $this->objectModel->getById($libID, $setImgSize); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateTest($libID) + { + $objects = $this->objectModel->update($libID); + + if(dao::isError()) return dao::getError(); + + $objects = $this->objectModel->getById($libID); + + return $objects; + } + + public function deleteTest($libID, $table = '') + { + $objects = $this->objectModel->delete($libID, $table); + + if(dao::isError()) return dao::getError(); + + $objects = $this->objectModel->getById($libID); + + return $objects; + } + + public function getLibrariesTest() + { + $objects = $this->objectModel->getLibraries(); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getListTest($orderBy = 'id_desc', $pager = null) + { + $objects = $this->objectModel->getList($orderBy, $pager); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createTest($param) + { + foreach($param as $k => $v) $_POST[$k] = $v; + $libID = $this->objectModel->create(); + unset($_POST); + + if(dao::isError()) return dao::getError(); + + $objects = $this->objectModel->getById($libID); + + return $objects; + } + + public function getLibCasesTest($libID, $browseType, $queryID = 0, $moduleID = 0, $sort = 'id_desc', $pager = null) + { + $objects = $this->objectModel->getLibCases($libID, $browseType, $queryID, $moduleID, $sort, $pager); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function buildSearchFormTest($libID, $libraries, $queryID, $actionURL) + { + $objects = $this->objectModel->buildSearchForm($libID, $libraries, $queryID, $actionURL); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLibLinkTest($module, $method, $extra) + { + $objects = $this->objectModel->getLibLink($module, $method, $extra); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createFromImportTest($libID) + { + $objects = $this->objectModel->createFromImport($libID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function batchCreateCaseTest($libID) + { + $objects = $this->objectModel->batchCreateCase($libID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } +} diff --git a/test/class/projectrelease.class.php b/test/class/projectrelease.class.php new file mode 100644 index 0000000000..14e68da432 --- /dev/null +++ b/test/class/projectrelease.class.php @@ -0,0 +1,195 @@ +objectModel = $tester->loadModel('projectrelease'); + } + + /** + * Test get release by id. + * + * @param int $releaseID + * @access public + * @return object + */ + public function getByIDTest($releaseID) + { + $objects = $this->objectModel->getByID($releaseID); + + if(dao::isError()) + { + $error = dao::getError(); + return $error[0]; + } + + return $objects; + } + + /** + * Test get list of releases. + * + * @param int $projectID + * @param string $type + * @access public + * @return array + */ + public function getListTest($projectID, $type = 'all') + { + $objects = $this->objectModel->getList($projectID, $type); + + if(dao::isError()) + { + $error = dao::getError(); + return $error[0]; + } + + return $objects; + } + + /** + * Test get last release. + * + * @param int $projectID + * @access public + * @return object + */ + public function getLastTest($projectID) + { + $objects = $this->objectModel->getLast($projectID); + + if(dao::isError()) + { + $error = dao::getError(); + return $error[0]; + } + + return $objects; + } + + /** + * Test get released builds from project. + * + * @param int $projectID + * @access public + * @return array + */ + public function getReleasedBuildsTest($projectID) + { + $objects = $this->objectModel->getReleasedBuilds($projectID); + + if(dao::isError()) + { + $error = dao::getError(); + return $error[0]; + } + if(count($objects) == 1) + { + return count($objects); + } + else + { + return $objects; + } + } + + /** + * Test update a release. + * + * @param int $releaseID + * @param string $name + * @param string $date + * @access public + * @return array + */ + public function updateTest($releaseID, $name = '', $date = '') + { + global $app; + $app->loadConfig('release'); + + $updateFields['name'] = $name; + $updateFields['build'] = 1; + $updateFields['date'] = $date; + $updateFields['status'] = 'normal'; + $updateFields['desc'] = ''; + $updateFields['labels'] = array(); + $updateFields['files'] = array(); + $updateFields['uid'] = '62450877d0a27'; + $updateFields['product'] = 1; + foreach($updateFields as $field => $defaultValue) $_POST[$field] = $defaultValue; + + $objects = $this->objectModel->update($releaseID); + if($objects == array()) $objects = '没有数据更新'; + unset($_POST); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test link stories + * + * @param int $releaseID + * @access public + * @return array + */ + public function linkStoryTest($releaseID) + { + $_POST['stories'] = array(1, 2); + $this->objectModel->linkStory($releaseID); + + global $tester; + $objects = $tester->dao->select('stories')->from(TABLE_RELEASE)->where('id')->eq((int)$releaseID)->fetch(); + unset($_POST); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test unlink stories + * + * @param int $releaseID + * @param int $storyID + * @access public + * @return array + */ + public function unlinkStoryTest($releaseID, $storyID) + { + $this->linkStoryTest($releaseID); + $this->objectModel->unlinkStory($releaseID, $storyID); + + global $tester; + $objects = $tester->dao->select('stories')->from(TABLE_RELEASE)->where('id')->eq((int)$releaseID)->fetch(); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test link bugs. + * + * @param int $releaseID + * @param string $type + * @access public + * @return array + */ + public function linkBugTest($releaseID, $type = 'bug') + { + $_POST['bugs'] = array(1, 2); + $this->objectModel->linkBug($releaseID, $type); + + global $tester; + $field = $type == 'bug' ? 'bugs' : 'leftBugs'; + $objects = $tester->dao->select($field)->from(TABLE_RELEASE)->where('id')->eq((int)$releaseID)->fetch(); + unset($_POST); + + if(dao::isError()) return dao::getError(); + + return $objects; + } +} diff --git a/test/model/caselib/batchcreatecase.php b/test/model/caselib/batchcreatecase.php new file mode 100755 index 0000000000..7e864c3f11 --- /dev/null +++ b/test/model/caselib/batchcreatecase.php @@ -0,0 +1,35 @@ +#!/usr/bin/env php +batchCreateCase(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$_POST = array( + 'module' => array(0 => 0, 1 => 0), + 'title' => array(0 => '测试导入添加1', 1 => '测试导入添加2'), + 'color' => array(0 => '', 1 => ''), + 'type' => array(0 => 'performance', 1 => 'unit'), + 'pri' => array(0 => 2, 1 => 4), + 'precondition' => array(0 => '', 1 => ''), + 'keywords' => array(0 => '', 1 => ''), + 'stage' => array(0 => array(), 1 => array()), +); +$caselib->batchCreateCaseTest(201); +unset($_POST); +$total = $tester->dao->select('count(*) total')->from(TABLE_CASE)->where('lib')->eq(201)->fetch('total'); +$cases = $tester->dao->select('*')->from(TABLE_CASE)->where('lib')->eq(201)->fetchAll('id'); + +r($total) && p() && e('12'); // 添加两条数据之后查询数据条数是否正确 +r($cases) && p('411:title,type') && e('测试导入添加1,performance'); // 添加数据之后查询新加用例的名称,用例类型 +r($cases) && p('412:title,type') && e('测试导入添加2,unit'); // 添加数据之后查询新加用例的名称,用例类型 + +system('./ztest init'); diff --git a/test/model/caselib/buildsearchform.php b/test/model/caselib/buildsearchform.php new file mode 100755 index 0000000000..1008baf312 --- /dev/null +++ b/test/model/caselib/buildsearchform.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +buildSearchForm(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$libID = 201; +$queryID = 10; +$actionURL = helper::createLink('caselib', 'browse', "libID=$libID&browseType=bySearch&queryID=myQueryID"); +$libs = $tester->loadModel('caselib')->getLibraries(); + +$caselib->buildSearchFormTest($libID, $libs, $queryID, $actionURL); +$search = $tester->config->testcase->search; + +r($search) && p('actionURL') && e('model/caselib/buildsearchform.php?m=caselib&f=browse&t=&libID=201&browseType=bySearch&queryID=myQueryID'); //测试设置的url参数 +r($search) && p('queryID') && e('10'); //测试设置的queryID值是否正确 diff --git a/test/model/caselib/create.php b/test/model/caselib/create.php new file mode 100755 index 0000000000..282060adc3 --- /dev/null +++ b/test/model/caselib/create.php @@ -0,0 +1,35 @@ +#!/usr/bin/env php +create(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); + +$lib = new stdClass(); +$lib->name = ""; +$result1 = $caselib->createTest($lib); + +$lib = new stdClass(); +$lib->name = '测试用例库名称'; +$lib->desc = '测试用例库描述'; +$result2 = $caselib->createTest($lib); + +$lib = new stdClass(); +$lib->name = '测试用例库名称'; +$result3 = $caselib->createTest($lib); + +r($result1) && p('name:0') && e('『名称』不能为空。'); //测试名称是空时候添加 +r($result2) && p('name') && e('测试用例库名称'); //测试添加的名称信息 +r($result2) && p('desc') && e('测试用例库描述'); //测试添加的描述信息 +r($result3) && p('name:0') && e('『名称』已经有『测试用例库名称』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。'); //测试名称是空时候添加 + +system('./ztest init'); diff --git a/test/model/caselib/createfromimport.php b/test/model/caselib/createfromimport.php new file mode 100755 index 0000000000..0503cfb7cd --- /dev/null +++ b/test/model/caselib/createfromimport.php @@ -0,0 +1,38 @@ +#!/usr/bin/env php +createFromImport(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$_POST = array( + 'lib' => array(2 => 201, 3 => 201), + 'title' => array(2 => '测试导入添加1', 3 => '测试导入添加2'), + 'module' => array(2 => 0, 3 => 0), + 'pri' => array(2 => 2, 3 => 4), + 'type' => array(2 => 'performance', 3 => 'unit'), + 'stage' => array(2 => array(), 3 => array()), + 'keywords' => array(2 => 'keywords1', 3 => 'keywords2'), + 'precondition' => array(2 => '', 3 => ''), + 'isEndPage' => 1, + 'pagerID' => 1 +); + +$caselib->createFromImportTest(201); +unset($_POST); +$total = $tester->dao->select('count(*) total')->from(TABLE_CASE)->where('lib')->eq(201)->fetch('total'); +$cases = $tester->dao->select('*')->from(TABLE_CASE)->where('lib')->eq(201)->fetchAll('id'); + +r($total) && p() && e('12'); //添加两条数据之后查询数据条数是否正确 +r($cases) && p('411:title,keywords') && e('测试导入添加1,keywords1'); //添加数据之后查询新加用例的名称,关键字 +r($cases) && p('412:title,keywords') && e('测试导入添加2,keywords2'); //添加数据之后查询新加用例的名称,关键字 + +system('./ztest init'); diff --git a/test/model/caselib/delete.php b/test/model/caselib/delete.php new file mode 100755 index 0000000000..18b6e67a32 --- /dev/null +++ b/test/model/caselib/delete.php @@ -0,0 +1,20 @@ +#!/usr/bin/env php +delete(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$lib = $caselib->deleteTest(201); + +r($lib) && p('deleted') && e('1'); //测试删除之后deleted值是否为1 + +system('./ztest init'); diff --git a/test/model/caselib/getbyid.php b/test/model/caselib/getbyid.php new file mode 100755 index 0000000000..c1b0baef36 --- /dev/null +++ b/test/model/caselib/getbyid.php @@ -0,0 +1,20 @@ +#!/usr/bin/env php +getById(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$data = $caselib->getByIdTest(201); + +r($data) && p('name') && e('这是测试套件名称201'); //测试获取数据的名称信息 +r($data) && p('desc') && e('这是测试套件的描述201'); //测试获取数据的描述信息 +r($data) && p('type') && e('library'); //测试获取数据的type类型 diff --git a/test/model/caselib/getlibcases.php b/test/model/caselib/getlibcases.php new file mode 100755 index 0000000000..a2c2bf7474 --- /dev/null +++ b/test/model/caselib/getlibcases.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getLibCases(); +cid=1 +pid=1 + +*/ +global $tester; +$tester->app->loadClass('pager', $static = true); + +$pager = new pager(0, 5, 1); +$caselib = new caselibTest(); + +$list1 = $caselib->getLibCasesTest(201, 'all'); +$list2 = $caselib->getLibCasesTest(201, 'bysearch'); +$list3 = $caselib->getLibCasesTest(201, 'all', '0', '0', 'id_desc', $pager); + +r(count($list1)) && p() && e('10'); //所有状态下,用例库下用例数量 +r(count($list2)) && p() && e('10'); //搜索状态下,用例库下用例数量 +r(count($list3)) && p() && e('5'); //分页状态下,用例库下用例数量 diff --git a/test/model/caselib/getliblink.php b/test/model/caselib/getliblink.php new file mode 100755 index 0000000000..02d8d9dba4 --- /dev/null +++ b/test/model/caselib/getliblink.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +getLibLink(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$link1 = $caselib->getLibLinkTest('caselib', 'create', ''); +$link2 = $caselib->getLibLinkTest('caselib', 'test', ''); +$link3 = $caselib->getLibLinkTest('tree', '', ''); +$link4 = $caselib->getLibLinkTest('', '', ''); + +r($link1) && p() && e('model/caselib/getliblink.php?m=caselib&f=browse&t=&libID=%s'); // 测试参数情况1返回值 +r($link2) && p() && e('model/caselib/getliblink.php?m=caselib&f=test&t=&libID=%s'); // 测试参数情况2返回值 +r($link3) && p() && e('model/caselib/getliblink.php?m=tree&f=&t=&libID=%s&type=caselib¤tModuleID=0'); // 测试参数情况3返回值 +r($link4) && p() && e('model/caselib/getliblink.php?m=caselib&f=browse&t=&libID=%s'); // 测试参数情况4返回值 diff --git a/test/model/caselib/getlibraries.php b/test/model/caselib/getlibraries.php new file mode 100755 index 0000000000..d36719bf77 --- /dev/null +++ b/test/model/caselib/getlibraries.php @@ -0,0 +1,18 @@ +#!/usr/bin/env php +getLibraries(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$list = $caselib->getLibrariesTest(); + +r($list) && p('201') && e('这是测试套件名称201'); //测试获取用例库的键值对 diff --git a/test/model/caselib/getlist.php b/test/model/caselib/getlist.php new file mode 100755 index 0000000000..a574b7e285 --- /dev/null +++ b/test/model/caselib/getlist.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getList(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$list = $caselib->getListTest(); + +r(count($list)) && p() && e('1'); //测试获取列表的个数,目前只有一个 +r($list) && p('201:name') && e('这是测试套件名称201');//测试获取列表某个用例库的名称信息 diff --git a/test/model/caselib/savelibstate.php b/test/model/caselib/savelibstate.php new file mode 100755 index 0000000000..fd95b8d816 --- /dev/null +++ b/test/model/caselib/savelibstate.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +saveLibState(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$libs = $tester->loadModel('caselib')->getLibraries(); +$id = $caselib->saveLibStateTest(201, $libs); + +r($id) && p() && e('201'); //保存用例库状态之后返回值 diff --git a/test/model/caselib/setlibmenu.php b/test/model/caselib/setlibmenu.php new file mode 100755 index 0000000000..5d7016e1d1 --- /dev/null +++ b/test/model/caselib/setlibmenu.php @@ -0,0 +1,22 @@ +#!/usr/bin/env php +setLibMenu(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); +$libs = $tester->loadModel('caselib')->getLibraries(); +$info = $caselib->setLibMenuTest($libs, 201); + +$menuStr = << +EOT; +r($tester->lang->switcherMenu) && p() && e($menuStr); //修改下拉菜单之后返回值 diff --git a/test/model/caselib/update.php b/test/model/caselib/update.php new file mode 100755 index 0000000000..985a7078f7 --- /dev/null +++ b/test/model/caselib/update.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +update(); +cid=1 +pid=1 + +*/ + +$caselib = new caselibTest(); + +$_POST['name'] = ''; +$lib1 = $caselib->updateTest(201); + +$_POST['name'] = '测试修改名称'; +$_POST['desc'] = '测试修改描述'; +$lib2 = $caselib->updateTest(201); +unset($_POST); + +r($lib1) && p('name:0') && e('『name』不能为空。'); //测试更新名称为空时候返回 +r($lib2) && p('name') && e('测试修改名称'); //测试更新之后名称信息 +r($lib2) && p('desc') && e('测试修改描述'); //测试更新之后描述信息 + +system('./ztest init'); diff --git a/test/model/projectrelease/getbyid.php b/test/model/projectrelease/getbyid.php new file mode 100755 index 0000000000..a8ae32e0bf --- /dev/null +++ b/test/model/projectrelease/getbyid.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +getByID(); +cid=1 +pid=1 + +根据releaseID查找发布详情,能查询到结果 >> 产品正常的正常的发布1 +根据releaseID查找发布详情,不能查询到结果 >> 0 + +*/ + +$releaseID = array(1, 100); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->getByIDTest($releaseID[0])) && p('name') && e('产品正常的正常的发布1'); //根据releaseID查找发布详情,能查询到结果 +r($projectrelease->getByIDTest($releaseID[1])) && p('name') && e('0'); //根据releaseID查找发布详情,不能查询到结果 \ No newline at end of file diff --git a/test/model/projectrelease/getlast.php b/test/model/projectrelease/getlast.php new file mode 100755 index 0000000000..98cf3aaf90 --- /dev/null +++ b/test/model/projectrelease/getlast.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +getLast(); +cid=1 +pid=1 + +执行projectID正常存在 >> 产品发布9 +执行projectID不存在 >> 0 +执行projectID为空 >> 8 + +*/ + +$projectID = array(11, 1000, ''); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->getLastTest($projectID[0])) && p('name') && e('产品发布9'); //执行projectID正常存在 +r($projectrelease->getLastTest($projectID[1])) && p() && e('0'); //执行projectID不存在 +r($projectrelease->getLastTest($projectID[2])) && p('id') && e('8'); //执行projectID为空 \ No newline at end of file diff --git a/test/model/projectrelease/getlist.php b/test/model/projectrelease/getlist.php new file mode 100755 index 0000000000..053b38e1d2 --- /dev/null +++ b/test/model/projectrelease/getlist.php @@ -0,0 +1,34 @@ +#!/usr/bin/env php +getList(); +cid=1 +pid=1 + +查询projectID正常存在,type为all的发布 >> 产品发布9,normal +查询projectID正常存在,type为normal的发布 >> 产品发布9,normal +查询projectID正常存在,type为terminate的发布 >> 0 +查询projectID正常存在,type为''的发布 >> 0 +查询projectID正常存在的发布 >> 产品发布9,normal +查询projectID不存在,type为all的发布 >> 0 +查询projectID为空,type为all的发布 >> 8 + +*/ + +$projectID = array(11, 1000, ''); +$type = array('all', 'normal', 'terminate', ''); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->getListTest($projectID[0], $type[0])) && p('0:name,status') && e('产品发布9,normal'); //查询projectID正常存在,type为all的发布 +r($projectrelease->getListTest($projectID[0], $type[1])) && p('0:name,status') && e('产品发布9,normal'); //查询projectID正常存在,type为normal的发布 +r($projectrelease->getListTest($projectID[0], $type[2])) && p() && e('0'); //查询projectID正常存在,type为terminate的发布 +r($projectrelease->getListTest($projectID[0], $type[3])) && p() && e('0'); //查询projectID正常存在,type为''的发布 +r($projectrelease->getListTest($projectID[0])) && p('0:name,status') && e('产品发布9,normal'); //查询projectID正常存在的发布 +r($projectrelease->getListTest($projectID[1], $type[0])) && p() && e('0'); //查询projectID不存在,type为all的发布 +r($projectrelease->getListTest($projectID[2], $type[0])) && p('0:id') && e('8'); //查询projectID为空,type为all的发布 \ No newline at end of file diff --git a/test/model/projectrelease/getreleasedbuilds.php b/test/model/projectrelease/getreleasedbuilds.php new file mode 100755 index 0000000000..1aa2de6d5f --- /dev/null +++ b/test/model/projectrelease/getreleasedbuilds.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +getReleasedBuilds(); +cid=1 +pid=1 + +执行projectID正常存在 >> 2 +执行projectID不存在 >> 0 +执行projectID为空 >> 1 + +*/ + +$projectID = array(131, 1000, ''); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->getReleasedBuildsTest($projectID[0])) && p('1') && e('2'); //执行projectID正常存在 +r($projectrelease->getReleasedBuildsTest($projectID[1])) && p() && e('0'); //执行projectID不存在 +r($projectrelease->getReleasedBuildsTest($projectID[2])) && p() && e('1'); //执行projectID为空 \ No newline at end of file diff --git a/test/model/projectrelease/linkbug.php b/test/model/projectrelease/linkbug.php new file mode 100755 index 0000000000..5e3f149d1b --- /dev/null +++ b/test/model/projectrelease/linkbug.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +linkBug(); +cid=1 +pid=1 + +测试normal状态的发布,releaseID正常存在,type为bug >> ,1,2 +测试normal状态的发布,releaseID正常存在,type为leftBug >> ,1,2 +测试normal状态的发布,releaseID正常存在,type为空 >> ,1,2, +测试terminate状态的发布,releaseID正常存在,type为bug >> ,1,2 +测试terminate状态的发布,releaseID正常存在,type为leftBug >> ,1,2 +测试terminate状态的发布,releaseID正常存在,type为空 >> ,1,2, + +*/ +$releaseID = array(1, 10); +$type = array('bug', 'leftBug', ''); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->linkBugTest($releaseID[0],$type[0])) && p('bugs') && e(',1,2'); //测试normal状态的发布,releaseID正常存在,type为bug +r($projectrelease->linkBugTest($releaseID[0],$type[1])) && p('leftBugs') && e(',1,2'); //测试normal状态的发布,releaseID正常存在,type为leftBug +r($projectrelease->linkBugTest($releaseID[0],$type[2])) && p('leftBugs') && e(',1,2,'); //测试normal状态的发布,releaseID正常存在,type为空 +r($projectrelease->linkBugTest($releaseID[1],$type[0])) && p('bugs') && e(',1,2'); //测试terminate状态的发布,releaseID正常存在,type为bug +r($projectrelease->linkBugTest($releaseID[1],$type[1])) && p('leftBugs') && e(',1,2'); //测试terminate状态的发布,releaseID正常存在,type为leftBug +r($projectrelease->linkBugTest($releaseID[1],$type[2])) && p('leftBugs') && e(',1,2,'); //测试terminate状态的发布,releaseID正常存在,type为空 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/projectrelease/linkstory.php b/test/model/projectrelease/linkstory.php new file mode 100755 index 0000000000..a11bf3093d --- /dev/null +++ b/test/model/projectrelease/linkstory.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +linkStory(); +cid=1 +pid=1 + +测试normal状态的发布,releaseID正常存在 >> ,1,2 +测试terminate状态的发布,releaseID正常存在 >> ,1,2 + +*/ +$releaseID = array(1, 10); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->linkStoryTest($releaseID[0])) && p('stories') && e(',1,2'); //测试normal状态的发布,releaseID正常存在 +r($projectrelease->linkStoryTest($releaseID[1])) && p('stories') && e(',1,2'); //测试terminate状态的发布,releaseID正常存在 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/projectrelease/unlinkstory.php b/test/model/projectrelease/unlinkstory.php new file mode 100755 index 0000000000..ac4fe1aba0 --- /dev/null +++ b/test/model/projectrelease/unlinkstory.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +unlinkStory(); +cid=1 +pid=1 + +测试normal状态的发布,正常存在的storyID值为2,可移除 >> 1 +测试normal状态的发布,不存在的storyID值为100,不可移除 >> 1,2 +测试normal状态的发布,不存在的storyID值为空,不可移除 >> 1,2 +测试terminate状态的发布,正常存在的storyID值为2,可移除 >> 1 +测试terminate状态的发布,不存在的storyID值为100,不可移除 >> 1,2 +测试terminate状态的发布,不存在的storyID值为空,不可移除 >> 1,2 + +*/ +$releaseID = array(1, 10); +$storyID = array(2, 100, ''); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->unlinkStoryTest($releaseID[0], $storyID[0])) && p('stories') && e('1'); //测试normal状态的发布,正常存在的storyID值为2,可移除 +r($projectrelease->unlinkStoryTest($releaseID[0], $storyID[1])) && p('stories') && e('1,2'); //测试normal状态的发布,不存在的storyID值为100,不可移除 +r($projectrelease->unlinkStoryTest($releaseID[0], $storyID[2])) && p('stories') && e('1,2'); //测试normal状态的发布,不存在的storyID值为空,不可移除 +r($projectrelease->unlinkStoryTest($releaseID[1], $storyID[0])) && p('stories') && e('1'); //测试terminate状态的发布,正常存在的storyID值为2,可移除 +r($projectrelease->unlinkStoryTest($releaseID[1], $storyID[1])) && p('stories') && e('1,2'); //测试terminate状态的发布,不存在的storyID值为100,不可移除 +r($projectrelease->unlinkStoryTest($releaseID[1], $storyID[2])) && p('stories') && e('1,2'); //测试terminate状态的发布,不存在的storyID值为空,不可移除 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/projectrelease/update.php b/test/model/projectrelease/update.php new file mode 100755 index 0000000000..40e59cca1d --- /dev/null +++ b/test/model/projectrelease/update.php @@ -0,0 +1,42 @@ +#!/usr/bin/env php +update(); +cid=1 +pid=1 + +测试releaseID不存在,name在发布中不存在,date正常存在,不可修改 >> 没有数据更新 +测试releaseID为空,name在发布中不存在,date正常存在,不可修改 >> 没有数据更新 +测试releaseID正常存在,name在当前发布存在,date正常存在,可修改 >> date,2022-03-03,2022-03-31 +测试releaseID正常存在,name在当前发布存在,date为空,不可修改 >> 『date』不能为空。 +测试releaseID正常存在,name在发布中不存在,date正常存在,可修改 >> name,产品正常的正常的发布2 +测试releaseID正常存在,name在发布中不存在,date为空,不可修改 >> 『date』不能为空。 +测试releaseID正常存在,name为空,date正常存在,不可修改 >> 『name』不能为空。 +测试releaseID正常存在,name为空,date为空,不可修改 >> 『name』不能为空。;『date』不能为空。 +测试releaseID正常存在,name在其他发布存在,date正常,不可修改 >> 『name』已经有『产品发布9』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。 + +*/ + +$releaseID = array(1, 100, ''); +$name = array('产品正常的正常的发布1', '产品发布9', '产品正常的正常的发布2', ''); +$date = array('2022-03-31', ''); + +$projectrelease = new projectreleaseTest(); + +r($projectrelease->updateTest($releaseID[1], $name[2], $date[0])) && p() && e('没有数据更新'); //测试releaseID不存在,name在发布中不存在,date正常存在,不可修改 +r($projectrelease->updateTest($releaseID[2], $name[2], $date[0])) && p() && e('没有数据更新'); //测试releaseID为空,name在发布中不存在,date正常存在,不可修改 +r($projectrelease->updateTest($releaseID[0], $name[0], $date[0])) && p('0:field,old,new') && e('date,2022-03-03,2022-03-31'); //测试releaseID正常存在,name在当前发布存在,date正常存在,可修改 +r($projectrelease->updateTest($releaseID[0], $name[0], $date[1])) && p('date:0') && e('『date』不能为空。'); //测试releaseID正常存在,name在当前发布存在,date为空,不可修改 +r($projectrelease->updateTest($releaseID[0], $name[2], $date[0])) && p('0:field,new') && e('name,产品正常的正常的发布2'); //测试releaseID正常存在,name在发布中不存在,date正常存在,可修改 +r($projectrelease->updateTest($releaseID[0], $name[2], $date[1])) && p('date:0') && e('『date』不能为空。'); //测试releaseID正常存在,name在发布中不存在,date为空,不可修改 +r($projectrelease->updateTest($releaseID[0], $name[3], $date[0])) && p('name:0') && e('『name』不能为空。'); //测试releaseID正常存在,name为空,date正常存在,不可修改 +r($projectrelease->updateTest($releaseID[0], $name[3], $date[1])) && p('name:0;date:0') && e('『name』不能为空。;『date』不能为空。'); //测试releaseID正常存在,name为空,date为空,不可修改 + +r($projectrelease->updateTest($releaseID[0], $name[1], $date[0])) && p('name:0') && e('『name』已经有『产品发布9』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。'); //测试releaseID正常存在,name在其他发布存在,date正常,不可修改 + +system("./ztest init"); \ No newline at end of file