* Refactor doc::updateLib unit test.

This commit is contained in:
tianshujie
2023-12-01 16:09:42 +08:00
parent 46c2a9f75a
commit bc3dd94e6e
2 changed files with 39 additions and 49 deletions
+10 -12
View File
@@ -5,7 +5,7 @@ class docTest
{
global $tester, $app;
$this->objectModel = $tester->loadModel('doc');
$this->objectModel->config->global->syncProduct = '';
$this->objectModel->config->global->syncProduct = '';
$app->rawModule = 'doc';
$app->rawMethod = 'index';
@@ -89,24 +89,22 @@ class docTest
}
/**
* Function updateLib test by doc
* 编辑一个文档库。
* Update a lib.
*
* @param int $libID
* @param array $param
* @param int $libID
* @param array $param
* @access public
* @return array
*/
public function updateLibTest($libID, $param)
public function updateLibTest($libID, $param): array
{
global $tester;
$tester->app->loadConfig('doc');
foreach($param as $key => $value) $_POST[$key] = $value;
$objects = $this->objectModel->updateLib($libID);
$libData = new stdclass();
foreach($param as $key => $value) $libData->{$key} = $value;
$changes = $this->objectModel->updateLib($libID, $libData);
if(dao::isError()) return dao::getError();
return $objects;
return $changes;
}
/**
+29 -37
View File
@@ -1,56 +1,48 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/doc.class.php';
su('admin');
/**
title=测试 docModel->updateLib();
timeout=0
cid=1
pid=1
正常修改产品文档库 >> type,product,project
正常修改项目文档库 >> project,27,11
正常修改执行文档库 >> product,0,1
正常修改自定义文档库 >> product,17,1
正常修改无type >> type,custom,
正常修改无产品 >> 『产品库』应当是数字。
正常修改无项目 >> 『project』应当是数字。』
正常修改无迭代 >> 『迭代库』应当是数字。
正常修改无文档库名 >> 『文档库名称』不能为空。
*/
$docLibIds = array('17', '117', '217');
$type = array('product', 'project', 'execution', 'custom', '');
$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');
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/doc.class.php';
zdTable('project')->config('execution')->gen(6);
zdTable('project')->config('project')->gen(2);
zdTable('doclib')->config('doclib')->gen(30);
zdTable('user')->gen(5);
su('admin');
$docLibIds = array(26, 18, 20, 6, 11);
$type = array('product', 'project', 'execution', 'custom', 'mine');
$product = array('', '2');
$project = array('', '60');
$execution = array('', '102');
$name = array('', '编辑文档库');
$acl = array('', 'default', 'custom', 'private');
$groups = '1,2,3';
$users = 'admin,dev1,dev10';
$updateProduct = array('type' => $type[0], 'product' => $product[1], 'name' => $name[1], 'acl' => $acl[1]);
$updateProject = array('type' => $type[1], 'project' => $project[1], 'name' => $name[1], 'acl' => $acl[1]);
$updateExecution = array('type' => $type[2], 'execution' => $execution[1], 'name' => $name[1], 'acl' => $acl[1]);
$updateCustom = array('type' => $type[3], 'name' => $name[1], 'acl' => $acl[1]);
$updateMine = array('type' => $type[4], 'name' => $name[1], 'acl' => $acl[3]);
$customLib = array('type' => $type[0], 'product' => $product[1], 'name' => $name[1], 'acl' => $acl[2], 'groups' => $groups, 'users' => $users);
$noType = array('type' => $type[4], 'product' => $product[1], 'name' => $name[1], 'acl' => $acl[1]);
$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]);
$noName = array('type' => $type[0], 'product' => $product[1], 'name' => $name[0], 'acl' => $acl[0]);
$doc = new docTest();
r($doc->updateLibTest($docLibIds[0],$updateProject)) && p('0:field,old,new') && e('type,product,project'); //正常修改产品文档库
r($doc->updateLibTest($docLibIds[1],$updateProduct)) && p('1:field,old,new') && e('project,27,11'); //正常修改项目文档库
r($doc->updateLibTest($docLibIds[2],$updateExecution)) && p('2:field,old,new') && e('product,0,1'); //正常修改执行文档库
r($doc->updateLibTest($docLibIds[0],$updateCustom)) && p('1:field,old,new') && e('product,17,1'); //正常修改自定义文档库
r($doc->updateLibTest($docLibIds[0],$noType)) && p('0:field,old,new') && e('type,custom,'); //正常修改无type
r($doc->updateLibTest($docLibIds[0],$noProduct)) && p('product:0') && e('『产品库』应当是数字。'); //正常修改无产品
r($doc->updateLibTest($docLibIds[0],$noProject)) && p('project:0') && e('『project』应当是数字。』');//正常修改无项目
r($doc->updateLibTest($docLibIds[0],$noExecution)) && p('execution:0') && e('『迭代库』应当是数字。'); //正常修改无迭代
r($doc->updateLibTest($docLibIds[0],$noName)) && p('name:0') && e('『文档库名称』不能为空。'); //正常修改无文档库名
$docTester = new docTest();
r($docTester->updateLibTest($docLibIds[0], $updateProduct)) && p('0:field,old,new') && e('name,产品文档主库26,编辑文档库'); // 正常修改产品文档库
r($docTester->updateLibTest($docLibIds[1], $updateProject)) && p('0:field,old,new') && e('name,项目文档主库18,编辑文档库'); // 正常修改项目文档库
r($docTester->updateLibTest($docLibIds[2], $updateExecution)) && p('0:field,old,new') && e('name,执行文档主库20,编辑文档库'); // 正常修改执行文档库
r($docTester->updateLibTest($docLibIds[3], $updateCustom)) && p('0:field,old,new') && e('name,自定义文档库6,编辑文档库'); // 正常修改自定义文档库
r($docTester->updateLibTest($docLibIds[0], $noProduct)) && p('product:0') && e('『产品库』应当是数字。'); // 正常修改无产品
r($docTester->updateLibTest($docLibIds[0], $noProject)) && p('project:0') && e('『project』应当是数字。'); // 正常修改无项目
r($docTester->updateLibTest($docLibIds[0], $noExecution)) && p('execution:0') && e('『迭代库』应当是数字。'); // 正常修改无迭代
r($docTester->updateLibTest($docLibIds[0], $noName)) && p('name:0') && e('『库名称』不能为空。'); // 正常修改无文档库名