* Refactor doc::createApiLib unit test.

This commit is contained in:
tianshujie
2023-12-06 13:37:49 +08:00
parent 8fb3eab702
commit 03c7d403dd
2 changed files with 33 additions and 51 deletions
+12 -18
View File
@@ -36,31 +36,25 @@ class docTest
}
/**
* Function createApiLib test by doc
* 创建一个API文档库。
* Creat a api doc library.
*
* @param array $param
* @param array $param
* @access public
* @return object
* @return array|object|false
*/
public function createApiLibTest($param)
public function createApiLibTest(array $param): array|object|bool
{
global $tester;
$tester->loadModel('api');
$tester->app->loadLang('doclib');
$this->objectModel->loadModel('api');
$createFields = array('name' => '', 'baseUrl' => '', 'acl' => '', 'desc' => '测试详情');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$objectID = $this->objectModel->createApiLib();
unset($_POST);
$apiLib = new stdclass();
$createFields = array('name' => '', 'baseUrl' => '', 'acl' => '', 'desc' => '测试详情', 'libType' => 'product', 'product' => 1, 'project' => 0);
foreach($createFields as $field => $defaultValue) $apiLib->{$field} = $defaultValue;
foreach($param as $key => $value) $apiLib->{$key} = $value;
$objectID = $this->objectModel->createApiLib($apiLib);
if(dao::isError()) return dao::getError();
$objects = $this->objectModel->getLibById($objectID);
return $objects;
return $this->objectModel->getLibByID($objectID);
}
/**
+21 -33
View File
@@ -1,45 +1,33 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/doc.class.php';
$doclib = zdTable('doclib');
$doclib->id->range('1');
$doclib->gen(0);
zdTable('user')->gen(5);
su('admin');
/**
title=测试 docModel->createApiLib();
timeout=0
cid=1
pid=1
新建公有接口库 >> api;新建api文档库
新建私有接口库 >> private;www.zentaopms.com
新建自定义接口库 >> custom;1,2,3;admin,dev1,dev10
接口库名称为空 >> 『接口库名称』不能为空。
重复创建接口库 >> 『接口库名称』已经有『新建api文档库』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。
*/
$acl = array('', 'open', 'custom', 'private');
$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';
$openApilib = array('name' => '新建api文档库', 'acl' => $acl[1], 'baseUrl' => 'www.zentaopms.com');
$privateApilib = array('name' => '新建私有api文档库', 'acl' => $acl[3], 'baseUrl' => 'www.zentaopms.com');
$customApilib = array('name' => '新建自定义api文档库', 'acl' => $acl[2], 'baseUrl' => 'www.zentaopms.com', 'groups' => $groups, 'users' => $users);
$noName = array('name' => '', 'acl' => $acl[1], 'baseUrl' => 'www.zentaopms.com');
$noAcl = array('name' => '无权限', 'acl' => $acl[0], 'baseUrl' => 'www.zentaopms.com');
$noBaseUrl = array('name' => 'noBaseUrl', 'acl' => $acl[0], 'baseUrl' => '');
zdTable('doclib')->gen(0);
zdTable('user')->gen(5);
su('admin');
$doc = new docTest();
$acl = array('open', 'custom', 'private');
$groups = '1,2,3';
$users = 'admin,dev1,dev10';
r($doc->createApiLibTest($openApilib)) && p('type;name') && e('api;新建api文档库'); //新建公有接口库
r($doc->createApiLibTest($privateApilib)) && p('acl;baseUrl') && e('private;www.zentaopms.com'); //新建私有接口库
r($doc->createApiLibTest($customApilib)) && p('acl;groups;users') && e('custom;1,2,3;admin,dev1,dev10');//新建自定义接口库
r($doc->createApiLibTest($noName)) && p('name:0') && e('『接口库名称』不能为空。'); //接口库名称为空
r($doc->createApiLibTest($noAcl)) && p('acl') && e(''); //接口库权限为空
r($doc->createApiLibTest($noBaseUrl)) && p('baseUrl') && e(''); //接口库地址为空
r($doc->createApiLibTest($openApilib)) && p('name:0') && e('『接口库名称』已经有『新建api文档库』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。');//重复创建接口库
$openApilib = array('name' => '新建api文档库', 'acl' => $acl[0], 'baseUrl' => 'www.zentaopms.com');
$privateApilib = array('name' => '新建私有api文档库', 'acl' => $acl[2], 'baseUrl' => 'www.zentaopms.com');
$customApilib = array('name' => '新建自定义api文档库', 'acl' => $acl[1], 'baseUrl' => 'www.zentaopms.com', 'groups' => $groups, 'users' => $users);
$noName = array('name' => '', 'acl' => $acl[0], 'baseUrl' => 'www.zentaopms.com');
$noBaseUrl = array('name' => 'noBaseUrl', 'acl' => $acl[0], 'baseUrl' => '');
$docTester = new docTest();
r($docTester->createApiLibTest($openApilib)) && p('type;name') && e('api;新建api文档库'); // 新建公有接口库
r($docTester->createApiLibTest($privateApilib)) && p('acl;baseUrl') && e('private;www.zentaopms.com'); // 新建私有接口库
r($docTester->createApiLibTest($customApilib)) && p('acl') && e('custom'); // 新建自定义接口库
r($docTester->createApiLibTest($noName)) && p('name:0') && e('『库名称』不能为空。'); // 接口库名称为空
r($docTester->createApiLibTest($noBaseUrl)) && p('baseUrl') && e('www.zentaopms.com'); // 接口库地址为空
r($docTester->createApiLibTest($openApilib)) && p('name') && e('[name] => 同一产品下的接口库中『库名称』已经有『新建api文档库』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。'); // 重复创建接口库