* Adjust block test script.

This commit is contained in:
Wangyuting
2023-05-09 16:38:42 +08:00
parent 85b01b3189
commit 14d4e1234c
24 changed files with 255 additions and 101 deletions
+1
View File
@@ -1,4 +1,5 @@
ALTER TABLE `zt_block` ADD `dashboard` varchar(20) NOT NULL DEFAULT '' AFTER `account`;
ALTER TABLE `zt_block` ADD `createdDate` date NULL AFTER `height`;
ALTER TABLE `zt_block` CHANGE `block` `code` varchar(30) NOT NULL DEFAULT '' AFTER `module`;
ALTER TABLE `zt_block` MODIFY `vision` varchar(10) NOT NULL DEFAULT 'rnd' AFTER `hidden`;
+1 -1
View File
@@ -180,7 +180,7 @@ class block extends control
/* 永久关闭区块。 */
$block = $this->block->getByID($blockID);
$this->block->deleteBlock($blockID);
$this->block->deleteBlock(0, $block->module, $block->code);
/* 将关闭的区块保存到配置信息。 */
$closedBlock = isset($this->config->block->closed) ? $this->config->block->closed : '';
+15 -8
View File
@@ -34,6 +34,7 @@ $lang->block->lblModule = '模块';
$lang->block->lblBlock = '区块';
$lang->block->lblNum = '条数';
$lang->block->lblHtml = 'HTML内容';
$lang->block->html = 'HTML';
$lang->block->dynamic = '最新动态';
$lang->block->assignToMe = '待处理';
$lang->block->wait = '未开始';
@@ -421,12 +422,18 @@ $lang->block->availableBlocks['meeting'] = '会议';
$lang->block->availableBlocks['feedback'] = '反馈';
$lang->block->availableBlocks['ticket'] = '工单';
$lang->block->moduleList['product'] = $lang->productCommon;
$lang->block->moduleList['project'] = $lang->projectCommon;
$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = '测试';
$lang->block->moduleList['todo'] = '待办';
$lang->block->moduleList['doc'] = '文档';
$lang->block->moduleList['product'] = $lang->productCommon;
$lang->block->moduleList['project'] = $lang->projectCommon;
$lang->block->moduleList['execution'] = $lang->execution->common;
$lang->block->moduleList['qa'] = '测试';
$lang->block->moduleList['todo'] = '待办';
$lang->block->moduleList['doc'] = '文档';
$lang->block->moduleList['assigntome'] = $lang->block->assignToMe;
$lang->block->moduleList['dynamic'] = $lang->block->dynamic;
$lang->block->moduleList['guide'] = $lang->block->guide;
$lang->block->moduleList['welcome'] = $lang->block->welcome;
$lang->block->moduleList['html'] = $lang->block->html;
$lang->block->moduleList['contribute'] = $lang->block->contribute;
$lang->block->modules['project'] = new stdclass();
$lang->block->modules['project']->availableBlocks['project'] = "{$lang->projectCommon}列表";
@@ -445,8 +452,8 @@ $lang->block->modules['waterfallProject'] = new stdclass();
$lang->block->modules['waterfallProject']->availableBlocks['waterfallgantt'] = "{$lang->projectCommon}计划";
$lang->block->modules['waterfallProject']->availableBlocks['projectdynamic'] = '最新动态';
$lang->block->modules['agileplus']['index'] = $lang->block->modules['scrumProject'];
$lang->block->modules['waterfallplus']['index'] = $lang->block->modules['waterfallProject'];
$lang->block->modules['agileplus'] = $lang->block->modules['scrumProject'];
$lang->block->modules['waterfallplus'] = $lang->block->modules['waterfallProject'];
$lang->block->modules['product'] = new stdclass();
$lang->block->modules['product']->availableBlocks['statistic'] = $lang->productCommon . '统计';
+90 -27
View File
@@ -13,8 +13,8 @@ declare(strict_types=1);
class blockModel extends model
{
/**
* 检查然之请求时发起的hash是否匹配。
* Check API for ranzhi.
* 检查ZDOO请求时发起的哈希值是否匹配。
* Check if the hash value matches when requesting ZDOO.
*
* @param string $hash
* @access public
@@ -34,8 +34,8 @@ class blockModel extends model
}
/**
* 根据区块ID获取区块信息.
* Get a block by blockID.
* 根据区块ID获取区块信息
* Get a block by id.
*
* @param int $blockID
* @access public
@@ -54,13 +54,68 @@ class blockModel extends model
}
/**
* 获取被永久关闭的区块数据。
* getClosedBlockPairs
*
* @param int $closedBlock
* @access public
* @return void
*/
public function getClosedBlockPairs($closedBlock)
{
$blockPairs = array();
if(empty($closedBlock)) return $blockPairs;
foreach(explode(',', $closedBlock) as $block)
{
$block = trim($block);
if(empty($block)) continue;
list($moduleName, $blockKey) = explode('|', $block);
if($moduleName == $blockKey)
{
$blockPairs[$block] = $this->lang->block->moduleList[$moduleName];
}
else
{
$blockName = $blockKey;
if(isset($this->lang->block->modules[$moduleName]->availableBlocks[$blockKey])) $blockName = $this->lang->block->modules[$moduleName]->availableBlocks[$blockKey];
if(isset($this->lang->block->availableBlocks[$blockKey])) $blockName = $this->lang->block->availableBlocks[$blockKey];
$blockPairs[$block] = "{$this->lang->block->moduleList[$moduleName]}|{$blockName}";
}
}
return $blockPairs;
}
/**
* 获取后台信息区块参数信息。
* get admin information block parameter information.
*
* @param string $startDate
* @access public
* @return array|false
*/
public function getAdminBlockList(string $startDate = ''): array|false
{
return $this->dao->select('code,params')->from(TABLE_BLOCK)
->where('account')->eq('system')
->andWhere('vision')->eq('rnd')
->andWhere('dashboard')->eq('zentao')
->andWhere('module')->eq('zentao')
->andWhere('code')->in('plugin,patch,publicclass,news')
->beginIF($startDate)->andWhere('createdDate')->ge($startDate)->fi()
->fetchPairs();
}
/**
* 获取当前用户的区块列表。
* Get block list of current user.
* 获取区块列表.
*
* @param string $module
* @param int $hidden
* @access public
* @return int[]|false
* @return array|false
*/
public function getMyDashboard(string $dashboard, int $hidden = 0): array|false
{
@@ -68,12 +123,12 @@ class blockModel extends model
}
/**
* 获取隐藏的区块列表.
* Get hidden blocks
* 获取隐藏的区块列表
* Get hidden blocks.
*
* @param string $module
* @access public
* @return int[]|false
* @return array|false
*/
public function getMyHiddenBlocks(string $dashboard): array|false
{
@@ -81,8 +136,8 @@ class blockModel extends model
}
/**
* 获取对应仪表盘下区块的最大排序号.
* Get max order number by block dashboard.
* 获取对应仪表盘下区块的最大排序号
* Get block max order number by dashboard.
*
* @param string $dashboard
* @access public
@@ -210,7 +265,7 @@ class blockModel extends model
}
/**
* 获取区块是否已经初始化的状态.
* 获取区块是否已经初始化的状态
* get block is initiated or not.
*
* @param string $dashboard
@@ -219,7 +274,7 @@ class blockModel extends model
*/
public function getBlockInitStatus(string $dashboard): bool
{
$result = $this->dao->select('*')->from(TABLE_CONFIG)
$result = $this->dao->select('value')->from(TABLE_CONFIG)
->where('module')->eq($dashboard)
->andWhere('owner')->eq($this->app->user->account)
->andWhere('`section`')->eq('common')
@@ -227,24 +282,24 @@ class blockModel extends model
->andWhere('vision')->eq($this->config->vision)
->fetch('value');
return $result ? true : false;
return !empty($result);
}
/**
* 检查此区块是否为长区块。
* Check whether long block.
*
* @param object $block
* @param object $block
* @access public
* @return bool
*/
public function isLongBlock(object $block): bool
{
return (!empty($block->grid) and $block->grid >= 6) ? true : false;
return (!empty($block->grid) and $block->grid >= 6);
}
/**
* 初始化用户某个仪表盘下的区块数据.
* 初始化用户某个仪表盘下的区块数据
* Init block when account use first.
*
* @param string $dashboard
@@ -286,7 +341,7 @@ class blockModel extends model
*
* @param object $formData
* @access public
* @return void
* @return int
*/
public function create(object $formData): int|false
{
@@ -305,7 +360,7 @@ class blockModel extends model
*
* @param object $formData
* @access public
* @return void
* @return int|false
*/
public function update(object $formData): int|false
{
@@ -326,7 +381,7 @@ class blockModel extends model
* 对应仪表盘删除所有区块并更新为待初始化状态。
* Reset dashboard blocks.
*
* @param string $dashboard
* @param string $dashboard
* @access public
* @return bool
*/
@@ -345,26 +400,33 @@ class blockModel extends model
->andWhere('`key`')->eq('blockInited')
->exec();
return true;
return !dao::isError();
}
/**
* 删除一个区块。
* Delete a block.
* 根据ID删除一个区块或者根据代号删除多个区块。
* Delete a block based on id or multiple blocks based on code.
*
* @param int $blockID
* @access public
* @return bool
*/
public function deleteBlock(int $blockID): bool
public function deleteBlock(int $blockID = 0, string $module = '', string $code = ''): bool
{
$this->dao->delete()->from(TABLE_BLOCK)
->where('id')->eq($blockID)
->where('1=1')
->beginIF($blockID)
->andWhere('id')->eq($blockID)
->andWhere('account')->eq($this->app->user->account)
->andWhere('vision')->eq($this->config->vision)
->fi()
->beginIF($module and $code)
->andWhere('module')->eq($module)
->andWhere('code')->eq($code)
->fi()
->exec();
return true;
return !dao::isError();
}
/**
@@ -379,6 +441,7 @@ class blockModel extends model
public function setOrder(int $blockID, int $order): bool
{
$this->dao->update(TABLE_BLOCK)->set('order')->eq($order)->where('id')->eq($blockID)->exec();
return true;
return !dao::isError();
}
}
+4 -3
View File
@@ -3,13 +3,13 @@ declare(strict_types=1);
class blockTao extends blockModel
{
/**
* 获取当前用户的区块列表.
* 获取当前用户的区块列表
* Get block list of current user.
*
* @param string $dashboard
* @param int $hidden 0|1
* @access protected
* @return int[]|false
* @return array|false
*/
protected function fetchMyBlocks(string $dashboard, int $hidden = 0): array|false
{
@@ -23,6 +23,7 @@ class blockTao extends blockModel
}
/**
* 新增一个区块。
* Insert a block data.
*
* @param object $formData
@@ -36,6 +37,6 @@ class blockTao extends blockModel
->batchCheck($this->config->block->create->requiredFields, 'notempty')
->exec();
return true;
return !dao::isError();
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
+13 -4
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -32,6 +32,12 @@ cid=39
- 测试ID为2的区块的是否存在属性id @0
- 测试ID为3的区块的是否存在属性id @3
- 测试根据代号删除区块后的返回结果 @1
- 测试ID为3的区块的是否存在属性id @0
- 测试ID为22的区块删除后的返回结果 @1
*/
@@ -42,7 +48,10 @@ $tester->loadModel('block');
initData();
$blockTest = new blockTest();
r($tester->block->getByID(2)) && p('id') && e("2"); // 测试ID为2的区块是否存在
r($tester->block->deleteBlock(2)) && p('') && e('1'); // 测试ID为2的区块删除后的返回结果
r($tester->block->getByID(2)) && p('id') && e("0"); // 测试ID为2的区块的是否存在
r($tester->block->getByID(2)) && p('id') && e('2'); // 测试ID为2的区块是否存在
r($tester->block->deleteBlock(2, '', '')) && p('') && e('1'); // 测试ID为2的区块删除后的返回结果
r($tester->block->getByID(2)) && p('id') && e('0'); // 测试ID为2的区块的是否存在
r($tester->block->getByID(3)) && p('id') && e('3'); // 测试ID为3的区块的是否存在
r($tester->block->deleteBlock(0, 'project', 'statistic')) && p('') && e('1'); // 测试根据代号删除区块后的返回结果
r($tester->block->getByID(3)) && p('id') && e('0'); // 测试ID为3的区块的是否存在
r($tester->block->deleteBlock(22)) && p('') && e('1'); // 测试ID为22的区块删除后的返回结果
@@ -0,0 +1,42 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
function initData()
{
$block = zdTable('block');
$block->id->range('2-5');
$block->account->range('system');
$block->vision->range('rnd');
$block->dashboard->range('zentao');
$block->module->range('zentao');
$block->code->range('plugin,patch,publicclass,news');
$block->createdDate->range('`2020-01-01`,`2021-01-01`');
$block->title->prefix('区块')->range('2-5');
$block->order->range('2-5');
$block->gen(4);
}
/**
title=测试 block 模块 model下的 getMyDashboard 方法
timeout=0
cid=39
- 查询admin用户在我的地盘仪表盘的区块列表数量 @4
- 查询admin用户在我的地盘仪表盘的区块列表数量 @2
*/
global $tester;
$tester->loadModel('block');
initData();
r(count($tester->block->getAdminBlockList())) && p('') && e('4'); // 查询admin用户在我的地盘仪表盘的区块列表数量
r(count($tester->block->getAdminBlockList('2021-01-01'))) && p('') && e('2'); // 查询admin用户在我的地盘仪表盘的区块列表数量
@@ -22,6 +22,12 @@ title=测试 blockModel->getBlockInitStatus();
timeout=0
cid=1
- 测试 my 模块下返回为 1 @1
- 测试 product 模块下返回为 0 @0
- 测试不存在模块返回为 0 @0
*/
global $tester;
@@ -31,4 +37,4 @@ initData();
r($tester->block->getBlockInitStatus('my')) && p('') && e('1'); // 测试 my 模块下返回为 1
r($tester->block->getBlockInitStatus('product')) && p('') && e('0'); // 测试 product 模块下返回为 0
r($tester->block->getBlockInitStatus('asda??')) && p('') && e('0'); // 测试不存在模块返回为 0
r($tester->block->getBlockInitStatus('asda??')) && p('') && e('0'); // 测试不存在模块返回为 0
+4 -4
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
function initData()
@@ -44,6 +44,6 @@ $tester->loadModel('block');
initData();
r($tester->block->getByID(2)) && p('account,vision,dashboard,module,code,title,order') && e('admin,rnd,my,project,list,区块名称2,1'); // 测试获取正常的block的内容
r($tester->block->getByID(4)) && p('order') && e('3'); // 测试获取正常的block的内容
r($tester->block->getByID(6)) && p('') && e('0'); // 测试获取不存在的block的内容
r($tester->block->getByID(2)) && p('account,vision,dashboard,module,code,title,order') && e('admin,rnd,my,project,list,区块名称2,1'); // 测试获取正常的block的内容
r($tester->block->getByID(4)) && p('order') && e('3'); // 测试获取正常的block的内容
r($tester->block->getByID(6)) && p('') && e('0'); // 测试获取不存在的block的内容
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
/**
title=测试 blockModel->getClosedBlockPairs();
timeout=0
cid=1
- 测试获取关闭的区块键值对属性product|list @产品|产品列表
- 测试获取关闭的区块键值对属性assigntome|assigntome @待处理
*/
global $tester;
$tester->loadModel('block');
$data = $tester->block->getClosedBlockPairs('product|list,assigntome|assigntome');
r($data) && p('product|list') && e('产品|产品列表'); //测试获取关闭的区块键值对
r($data) && p('assigntome|assigntome') && e('待处理'); //测试获取关闭的区块键值对
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
@@ -38,6 +38,6 @@ $tester->loadModel('block');
initData();
r($tester->block->getMaxOrderByDashboard('my')) && p('') && e('4'); // 测试 my 模块下最大order 为 4
r($tester->block->getMaxOrderByDashboard('my')) && p('') && e('4'); // 测试 my 模块下最大order 为 4
r($tester->block->getMaxOrderByDashboard('my')) && p('') && e('4'); // 测试 my 模块下最大order 为 4
r($tester->block->getMaxOrderByDashboard('my')) && p('') && e('4'); // 测试 my 模块下最大order 为 4
r($tester->block->getMaxOrderByDashboard('bug')) && p('') && e('0'); // 测试数据库中不存在 模块的最大排序 为 0
+6 -6
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -41,8 +41,8 @@ $tester->loadModel('block');
initData();
r(count($tester->block->getMyDashboard('my'))) && p('') && e('1'); // 查询admin用户在我的地盘仪表盘的区块列表数量
r($tester->block->getMyDashboard('my')) && p('2:title') && e('区块2'); // 查询admin用户在我的地盘仪表盘的区块标题第2条的title属性
r(count($tester->block->getMyDashboard('my', 1))) && p('') && e('0'); // 查询admin用户在我的地盘仪表盘的隐藏区块列表数量
r(count($tester->block->getMyDashboard('asdas?'))) && p('') && e('0'); // 查询admin用户在不存在仪表盘的区块列表数量
r($tester->block->getMyDashboard('my')) && p('2:vision') && e('rnd'); // 查询admin用户在我的地盘仪表盘区块的vision第2条的vision属性
r(count($tester->block->getMyDashboard('my'))) && p('') && e('1'); // 查询admin用户在我的地盘仪表盘的区块列表数量
r($tester->block->getMyDashboard('my')) && p('2:title') && e('区块2'); // 查询admin用户在我的地盘仪表盘的区块标题第2条的title属性
r(count($tester->block->getMyDashboard('my', 1))) && p('') && e('0'); // 查询admin用户在我的地盘仪表盘的隐藏区块列表数量
r(count($tester->block->getMyDashboard('asdas?'))) && p('') && e('0'); // 查询admin用户在不存在仪表盘的区块列表数量
r($tester->block->getMyDashboard('my')) && p('2:vision') && e('rnd'); // 查询admin用户在我的地盘仪表盘区块的vision第2条的vision属性
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -40,5 +40,5 @@ $tester->loadModel('block');
initData();
r($tester->block->getSpecifiedBlockID('my', 'assingtome', 'assingtome')) && p('') && e('2'); // 测试 assingtome 区块的 区块ID是否为2
r($tester->block->getSpecifiedBlockID('qa', 'bug', 'list')) && p('') && e('3'); // 测试 buglist 区块的 区块ID是否为2
r($tester->block->getSpecifiedBlockID('my', 'welcome', 'welcome')) && p('') && e('0'); // 测试 找不到的区块的 区块ID 是否为 false
r($tester->block->getSpecifiedBlockID('qa', 'bug', 'list')) && p('') && e('3'); // 测试 buglist 区块的 区块ID是否为2
r($tester->block->getSpecifiedBlockID('my', 'welcome', 'welcome')) && p('') && e('0'); // 测试 找不到的区块的 区块ID 是否为 false
+5 -5
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -10,14 +10,14 @@ title=测试 blockModel->initBlock();
timeout=0
cid=1
- 测试获取正常的block的内容
- 测试获取初始化后第一个的block的内容
- 属性account @admin
- 属性dashboard @my
- 属性module @welcome
- 属性code @welcome
- 属性title @欢迎
- 测试获取正常的block的内容
- 测试获取初始化后最后一个的block的内容
- 属性account @admin
- 属性dashboard @my
- 属性module @project
@@ -33,5 +33,5 @@ $tester->block->reset('my');
$tester->block->initBlock('my');
$newBlcoks = $tester->block->getMyDashboard('my');
r(reset($newBlcoks)) && p('account,dashboard,module,code,title') && e('admin,my,welcome,welcome,欢迎'); // 测试获取正常的block的内容
r(end($newBlcoks)) && p('account,dashboard,module,code,title') && e('admin,my,project,project,项目列表'); // 测试获取正常的block的内容
r(reset($newBlcoks)) && p('account,dashboard,module,code,title') && e('admin,my,welcome,welcome,欢迎'); // 测试获取初始化后第一个的block的内容
r(end($newBlcoks)) && p('account,dashboard,module,code,title') && e('admin,my,project,project,项目列表'); // 测试获取初始化后最后一个的block的内容
+7 -7
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -27,11 +27,11 @@ title=测试 blockModel->isLongBlock();
timeout=0
cid=1
- 测试 空 对象 检查是否为长区块 @0
- 测试空对象是否为长区块 @0
- 测试 空 对象 检查是否为长区块 @0
- 测试ID为2的对象是否为长区块 @0
- 测试 空 对象 检查是否为长区块 @1
- 测试ID为3的对象是否为长区块 @1
*/
@@ -42,6 +42,6 @@ initData();
$emptyObject = new stdclass();
r($tester->block->isLongBlock($emptyObject)) && p() && e('0'); // 测试 空 对象 检查是否为长区块
r($tester->block->isLongBlock($tester->block->getByID(2))) && p() && e('0'); // 测试 空 对象 检查是否为长区块
r($tester->block->isLongBlock($tester->block->getByID(3))) && p() && e('1'); // 测试 空 对象 检查是否为长区块
r($tester->block->isLongBlock($emptyObject)) && p() && e('0'); // 测试空对象是否为长区块
r($tester->block->isLongBlock($tester->block->getByID(2))) && p() && e('0'); // 测试ID为2的对象是否为长区块
r($tester->block->isLongBlock($tester->block->getByID(3))) && p() && e('1'); // 测试ID为3的对象是否为长区块
+9 -6
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -24,7 +24,7 @@ cid=39
- 检查初始化后的区块初始化状态返回结果 @0
- 检查初始化是否存在区块数据属性account @0
- 检查初始化是否存在区块数据属性account @0
*/
@@ -36,9 +36,12 @@ $tester->block->reset('my');
$tester->block->initBlock('my');
r($tester->block->getBlockInitStatus('my')) && p('') && e('1'); // 检查初始化前的区块初始化状态返回结果
$myDashboard = $tester->block->getMyDashboard('my');
r(reset($myDashboard)) && p('account,dashboard,module,code,title') && e('admin,my,welcome,welcome,欢迎'); // 检查初始化前是否存在区块数据
$resetBeforeBlocks = $tester->block->getMyDashboard('my');
r(reset($resetBeforeBlocks)) && p('account,dashboard,module,code,title') && e('admin,my,welcome,welcome,欢迎'); // 检查初始化前是否存在区块数据
r($tester->block->reset('my')) && p('') && e('1'); // 检查初始化后的返回结果
r($tester->block->getBlockInitStatus('my')) && p('') && e('0'); // 检查初始化后的区块初始化状态返回结果
$myDashboard2 = $tester->block->getMyDashboard('my');
r(reset($myDashboard2)) && p('account') && e('0'); // 检查初始化前是否存在区块数据
$resetAfterBlocks = $tester->block->getMyDashboard('my');
r(reset($resetAfterBlocks)) && p('account') && e('0'); // 检查初始化后是否存在区块数据
+3 -3
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -55,7 +55,7 @@ $block2->order = '1';
$blockTest = new blockTest();
r($tester->block->setOrder($block1->id, $block1->order)) && p('') && e('1'); // 测试ID为2的区块变更排序后的返回结果
r($tester->block->getByID($block1->id)) && p('id,order') && e("2,3"); // 测试ID为2的区块的序号
r($tester->block->getByID($block1->id)) && p('id,order') && e('2,3'); // 测试ID为2的区块的序号
r($tester->block->setOrder($block2->id, $block2->order)) && p('') && e('1'); // 测试ID为2的区块变更排序后的返回结果
r($tester->block->getByID($block2->id)) && p('id,order') && e("3,1"); // 测试ID为3的区块的序号
r($tester->block->getByID($block2->id)) && p('id,order') && e('3,1'); // 测试ID为3的区块的序号
+2 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/block.class.php';
su('admin');
@@ -85,7 +85,7 @@ $emptyTitleBlock->title = '';
$blockTest = new blockTest();
$newBlockID = $blockTest->updateTest($block);
r($tester->block->getByID($newBlockID)) && p('account,vision,dashboard,module,code,title,order') && e("admin2,lite,scrumproject,project,statistic,项目统计区块,1"); // 测试获取正常的block的内容
r($tester->block->getByID($newBlockID)) && p('account,vision,dashboard,module,code,title,order') && e('admin2,lite,scrumproject,project,statistic,项目统计区块,1'); // 测试获取正常的block的内容
r($blockTest->updateTest($emptyModuleBlock)) && p('module:0') && e('『所属模块』不能为空。'); // 测试所属模块为空
r($blockTest->updateTest($emptyCodeBlock)) && p('code:0') && e('『区块』不能为空。'); // 测试所属区块为空
r($blockTest->updateTest($emptyTitleBlock)) && p('title:0') && e('『区块名称』不能为空。'); // 测试区块名称为空
@@ -23,7 +23,7 @@ namespace zin;
function getProductTabs($products, $blockNavCode): array
{
$navTabs = array();
$selected = key($products);
$selected = key($products);
foreach($products as $product)
{
$navTabs[] = li
@@ -65,7 +65,7 @@ function getProductInfo($products, $blockNavID): array
{
global $lang;
$selected = key($products);
$selected = key($products);
$tabItems = array();
foreach($products as $product)
{
@@ -23,7 +23,7 @@ namespace zin;
function getProjectTabs($projects, $blockNavCode): array
{
$navTabs = array();
$selected = key($projects);
$selected = key($projects);
foreach($projects as $project)
{
$navTabs[] = li
@@ -63,7 +63,7 @@ function getProjectTabs($projects, $blockNavCode): array
*/
function getProjectInfo($projects, $blockNavID): array
{
$selected = key($projects);
$selected = key($projects);
$tabItems = array();
foreach($projects as $project)
{
+2 -2
View File
@@ -23,7 +23,7 @@ namespace zin;
function getProductTabs($products, $blockNavCode): array
{
$navTabs = array();
$selected = key($products);
$selected = key($products);
foreach($products as $product)
{
$navTabs[] = li
@@ -65,7 +65,7 @@ function getProductInfo($products, $blockNavID): array
{
global $lang;
$selected = key($products);
$selected = key($products);
$tabItems = array();
foreach($products as $product)
{
+9 -10
View File
@@ -16,9 +16,13 @@ class blockZen extends block
if($dashboard != 'my') return array();
$modules = $this->lang->block->moduleList;
/* Unable to display the doc module on my dashboard. */
unset($modules['doc']);
if($this->config->global->flow != 'full') unset($modules['guide']);
if($this->config->vision != 'rnd') unset($modules['contribute']);
/* 从配置项中取出不同模块的首页对应的控制器方法。*/
/* Retrieve the controller method corresponding to the homepage of different modules from the configuration item.*/
list($programModule, $programMethod) = explode('-', $this->config->programLink);
@@ -26,6 +30,7 @@ class blockZen extends block
list($projectModule, $projectMethod) = explode('-', $this->config->projectLink);
list($executionModule, $executionMethod) = explode('-', $this->config->executionLink);
$closedBlock = isset($this->config->block->closed) ? $this->config->block->closed : '';
foreach($modules as $moduleKey => $moduleName)
{
if($moduleKey == 'todo') continue;
@@ -40,17 +45,11 @@ class blockZen extends block
/* After obtaining module permissions, it is necessary to verify whether there is permission for the module homepage. */
if(!common::hasPriv($moduleKey, $method)) unset($modules[$moduleKey]);
}
/* 判断区块是否被永久关闭,如果未被永久关闭则添加相应选项。*/
/* Determine whether the block has been permanently closed, and add corresponding options if it has not been permanently closed.*/
$closedBlock = isset($this->config->block->closed) ? $this->config->block->closed : '';
if(strpos(",$closedBlock,", ",|assigntome,") === false) $modules['assigntome'] = $this->lang->block->assignToMe;
if(strpos(",$closedBlock,", ",|dynamic,") === false) $modules['dynamic'] = $this->lang->block->dynamic;
if(strpos(",$closedBlock,", ",|guide,") === false and $this->config->global->flow == 'full') $modules['guide'] = $this->lang->block->guide;
if(strpos(",$closedBlock,", ",|welcome,") === false and $this->config->global->flow == 'full') $modules['welcome'] = $this->lang->block->welcome;
if(strpos(",$closedBlock,", ",|html,") === false) $modules['html'] = 'HTML';
if(strpos(",$closedBlock,", ",|contribute,") === false and $this->config->vision == 'rnd') $modules['contribute'] = $this->lang->block->contribute;
/* 被永久关闭的区块删除对应选项。 */
/* Delete corresponding options for blocks that have been permanently closed. */
if(strpos(",$closedBlock,", ",$moduleKey|$moduleKey,") !== false) unset($modules[$moduleKey]);
}
return array('' => '') + $modules;
}