From b1b28f72a1e75130aa0d0d9703aa2abb4070eea7 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Fri, 1 Dec 2023 13:51:31 +0800 Subject: [PATCH] * Refactor doc::createLib unit test. --- module/doc/test/doc.class.php | 26 ++++++------ module/doc/test/model/createlib.php | 64 ++++++++++++++--------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/module/doc/test/doc.class.php b/module/doc/test/doc.class.php index 150f229b53..f323d38010 100644 --- a/module/doc/test/doc.class.php +++ b/module/doc/test/doc.class.php @@ -12,27 +12,27 @@ class docTest } /** - * Function createLib test by doc + * 创建一个文档库。 + * Create a lib. * - * @param array $param + * @param array $param + * @param string $type api|project|product|execution|custom|mine + * @param string $libType * @access public - * @return object + * @return object|array */ - public function createLibTest($param) + public function createLibTest(array $param, string $type = '', string $libType = ''): object|array { - $createFields = array('type' => '', 'name' => '', 'acl' => ''); + $createFields = array('type' => '', 'name' => '', 'acl' => '', 'product' => 0, 'project' => 0, 'execution' => 0); - foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue; - foreach($param as $key => $value) $_POST[$key] = $value; - $objectID = $this->objectModel->createLib(); - - unset($_POST); + $lib = new stdClass(); + foreach($createFields as $field => $defaultValue) $lib->{$field} = $defaultValue; + foreach($param as $key => $value) $lib->{$key} = $value; + $objectID = $this->objectModel->createLib($lib); if(dao::isError()) return dao::getError(); - $objects = $this->objectModel->getLibById($objectID); - - return $objects; + return $this->objectModel->getLibById($objectID); } /** diff --git a/module/doc/test/model/createlib.php b/module/doc/test/model/createlib.php index 601640da81..cc4e7a3940 100755 --- a/module/doc/test/model/createlib.php +++ b/module/doc/test/model/createlib.php @@ -1,50 +1,50 @@ #!/usr/bin/env php createLib(); cid=1 -pid=1 - -新建公有产品文档库 >> product;新建文档库 -新建公有项目文档库 >> project;default -新建公有执行文档库 >> execution;rnd -新建公有自定义文档库 >> custom;0 -新建私有自定义文档库 >> product;1,2,3;admin,dev1,dev10 -新建无产品产品文档库 >> 『产品库』应当是数字。 -新建无项目项目文档库 >> 『project』应当是数字。 -新建无执行执行文档库 >> 『迭代库』应当是数字。 +timeout=0 */ -$type = array('product', 'project', 'execution', 'custom', ''); -$product = array('', '1'); -$project = array('', '11'); -$execution = array('', '101'); + +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/doc.class.php'; + +zdTable('user')->gen(5); +su('admin'); + +$type = array('product', 'project', 'execution', 'custom', 'mine', 'api', ''); +$libType = array('wiki', 'api'); +$product = array('', 1); +$project = array('', 11); +$execution = array('', 101); $name = array('', '新建文档库'); -$acl = array('', 'default', 'custom'); -$groups = array('1', '2', '3'); -$users = array('admin', 'dev1', 'dev10'); +$acl = array('', 'default', 'custom', 'private'); +$groups = '1,2,3'; +$users = 'admin,dev1,dev10'; $createProduct = array('type' => $type[0], 'product' => $product[1], 'name' => $name[1], 'acl' => $acl[1]); $createProject = array('type' => $type[1], 'project' => $project[1], 'name' => $name[1], 'acl' => $acl[1]); $createExecution = array('type' => $type[2], 'execution' => $execution[1], 'name' => $name[1], 'acl' => $acl[1]); +$createMine = array('type' => $type[4], 'name' => $name[1], 'acl' => $acl[3]); +$createApi = array('type' => $type[5], 'name' => $name[1], 'acl' => $acl[1]); $createCustom = array('type' => $type[3], 'name' => $name[1], 'acl' => $acl[1]); -$customLib = array('type' => $type[0], 'product' => $product[1], 'name' => $name[1], 'acl' => $acl[2], 'groups' => $groups, 'users' => $users); +$customLib = array('type' => $type[3], 'name' => $name[1], 'acl' => $acl[2], 'groups' => $groups, 'users' => $users); $noProduct = array('type' => $type[0], 'product' => $product[0], 'name' => $name[1], 'acl' => $acl[1]); $noProject = array('type' => $type[1], 'project' => $project[0], 'name' => $name[1], 'acl' => $acl[1]); $noExecution = array('type' => $type[2], 'execution' => $execution[0], 'name' => $name[1], 'acl' => $acl[1]); -$doc = new docTest(); - -r($doc->createLibTest($createProduct)) && p('type;name') && e('product;新建文档库'); //新建公有产品文档库 -r($doc->createLibTest($createProject)) && p('type;acl') && e('project;default'); //新建公有项目文档库 -r($doc->createLibTest($createExecution)) && p('type;vision') && e('execution;rnd'); //新建公有执行文档库 -r($doc->createLibTest($createCustom)) && p('type;project') && e('custom;0'); //新建公有自定义文档库 -r($doc->createLibTest($customLib)) && p('type;groups;users') && e('product;1,2,3;admin,dev1,dev10');//新建私有自定义文档库 -r($doc->createLibTest($noProduct)) && p('product:0') && e('『产品库』应当是数字。'); //新建无产品产品文档库 -r($doc->createLibTest($noProject)) && p('project:0') && e('『project』应当是数字。'); //新建无项目项目文档库 -r($doc->createLibTest($noExecution)) && p('execution:0') && e('『迭代库』应当是数字。'); //新建无执行执行文档库 +$docTester = new docTest(); +r($docTester->createLibTest($createProduct, $type[0], $libType[0])) && p('type;name') && e('product;新建文档库'); // 新建公有产品文档库 +r($docTester->createLibTest($createProject, $type[1], $libType[0])) && p('type;acl') && e('project;default'); // 新建公有项目文档库 +r($docTester->createLibTest($createProduct, $type[0], $libType[1])) && p('type;name') && e('product;新建文档库'); // 新建公有产品api库 +r($docTester->createLibTest($createProject, $type[1], $libType[1])) && p('type;acl') && e('project;default'); // 新建公有项目api库 +r($docTester->createLibTest($createExecution, $type[2])) && p('type;vision') && e('execution;rnd'); // 新建公有执行文档库 +r($docTester->createLibTest($createMine)) && p('type;project') && e('mine;0'); // 新建我的私有文档库 +r($docTester->createLibTest($createApi)) && p('type;project') && e('api;0'); // 新建公有api文档库 +r($docTester->createLibTest($createCustom)) && p('type;project') && e('custom;0'); // 新建公有自定义文档库 +r($docTester->createLibTest($customLib)) && p('type;groups;users', ';') && e('custom;1,2,3;admin,dev1,dev10'); // 新建私有自定义文档库 +r($docTester->createLibTest($noProduct)) && p('product:0') && e('『产品库』应当是数字。'); // 新建无产品产品文档库 +r($docTester->createLibTest($noProject)) && p('project:0') && e('『project』应当是数字。'); // 新建无项目项目文档库 +r($docTester->createLibTest($noExecution)) && p('execution:0') && e('『迭代库』应当是数字。'); // 新建无执行执行文档库