* [misc] Enhance unit tests for dataviewModel::checkUniColumn() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -99,4 +99,22 @@ class dataviewTest
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test checkUniColumn method.
|
||||
*
|
||||
* @param string $sql
|
||||
* @param string $driverName
|
||||
* @param bool $repeat
|
||||
* @param array $columns
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function checkUniColumnTest($sql, $driverName = 'mysql', $repeat = false, $columns = array())
|
||||
{
|
||||
$result = $this->objectModel->checkUniColumn($sql, $driverName, $repeat, $columns);
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,75 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
zenData('product')->gen(10);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 dataviewModel::checkUniColumn();
|
||||
timeout=0
|
||||
cid=1
|
||||
cid=0
|
||||
|
||||
- 检查产品表是否有重复数据。 @1
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', false, $uniqueColumns @1
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', false, $duplicateColumns @0
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', true, $duplicateColumns @0
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', false, $emptyColumns @1
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', false, $mixedColumns @0
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', true, $multiDuplicateColumns 属性1 @0~~id~~status
|
||||
属性id @0~~id~~status
|
||||
属性status @0~~id~~status
|
||||
- 执行dataviewTest模块的checkUniColumnTest方法,参数是'', 'mysql', false, $singleColumn @1
|
||||
|
||||
*/
|
||||
global $tester;
|
||||
$tester->loadModel('dataview');
|
||||
|
||||
r($tester->dataview->checkUniColumn('select * from zt_product')) && p() && e('1'); //检查产品表是否有重复数据。
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/dataview.unittest.class.php';
|
||||
|
||||
su('admin');
|
||||
|
||||
$dataviewTest = new dataviewTest();
|
||||
|
||||
// 测试数据1:唯一列数组
|
||||
$uniqueColumns = array(
|
||||
array('name' => 'id'),
|
||||
array('name' => 'name'),
|
||||
array('name' => 'code')
|
||||
);
|
||||
|
||||
// 测试数据2:包含重复列的数组
|
||||
$duplicateColumns = array(
|
||||
array('name' => 'id'),
|
||||
array('name' => 'name'),
|
||||
array('name' => 'id')
|
||||
);
|
||||
|
||||
// 测试数据3:空数组
|
||||
$emptyColumns = array();
|
||||
|
||||
// 测试数据4:混合重复列
|
||||
$mixedColumns = array(
|
||||
array('name' => 'id'),
|
||||
array('name' => 'name'),
|
||||
array('name' => 'status'),
|
||||
array('name' => 'name'),
|
||||
array('name' => 'type')
|
||||
);
|
||||
|
||||
// 测试数据5:多个重复列
|
||||
$multiDuplicateColumns = array(
|
||||
array('name' => 'id'),
|
||||
array('name' => 'name'),
|
||||
array('name' => 'id'),
|
||||
array('name' => 'status'),
|
||||
array('name' => 'status')
|
||||
);
|
||||
|
||||
// 测试数据6:单列数组
|
||||
$singleColumn = array(
|
||||
array('name' => 'id')
|
||||
);
|
||||
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', false, $uniqueColumns)) && p() && e('1');
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', false, $duplicateColumns)) && p() && e('0');
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', true, $duplicateColumns)) && p('0') && e('0');
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', false, $emptyColumns)) && p() && e('1');
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', false, $mixedColumns)) && p() && e('0');
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', true, $multiDuplicateColumns)) && p('1,id,status') && e('0~~id~~status');
|
||||
r($dataviewTest->checkUniColumnTest('', 'mysql', false, $singleColumn)) && p() && e('1');
|
||||
Reference in New Issue
Block a user