From 095fc4f6ec6eac74588232b6cb1fc08e32e5a6af Mon Sep 17 00:00:00 2001 From: wangyuting Date: Thu, 28 Dec 2023 16:22:32 +0800 Subject: [PATCH] * Fix search module unit test bug. --- module/search/config.php | 6 +++--- module/search/tao.php | 2 +- module/search/test/model/getlist.php | 15 ++++++++++----- module/search/test/search.class.php | 14 +++++++------- ...ueryformdata.php => processqueryformdatas.php} | 6 +----- module/search/test/tao/setcondition.php | 2 ++ module/search/test/yaml/testtask.yaml | 10 ++++++++++ 7 files changed, 34 insertions(+), 21 deletions(-) rename module/search/test/tao/{processqueryformdata.php => processqueryformdatas.php} (90%) create mode 100644 module/search/test/yaml/testtask.yaml diff --git a/module/search/config.php b/module/search/config.php index 0f5ad92332..3ee967435a 100644 --- a/module/search/config.php +++ b/module/search/config.php @@ -51,7 +51,7 @@ $config->search->fields->productplan = new stdclass(); $config->search->fields->productplan->id = 'id'; $config->search->fields->productplan->title = 'title'; $config->search->fields->productplan->content = 'desc'; -$config->search->fields->productplan->addedDate = 'addedDate'; +$config->search->fields->productplan->addedDate = 'createdDate'; $config->search->fields->productplan->editedDate = 'lastEditedDate'; $config->search->fields->project = new stdclass(); @@ -65,7 +65,7 @@ $config->search->fields->release = new stdclass(); $config->search->fields->release->id = 'id'; $config->search->fields->release->title = 'name'; $config->search->fields->release->content = 'desc'; -$config->search->fields->release->addedDate = 'addedDate'; +$config->search->fields->release->addedDate = 'createdDate'; $config->search->fields->release->editedDate = 'lastEditedDate'; $config->search->fields->story = new stdclass(); @@ -93,7 +93,7 @@ $config->search->fields->testtask = new stdclass(); $config->search->fields->testtask->id = 'id'; $config->search->fields->testtask->title = 'name'; $config->search->fields->testtask->content = 'desc,report'; -$config->search->fields->testtask->addedDate = 'addedDate'; +$config->search->fields->testtask->addedDate = 'createdDate'; $config->search->fields->testtask->editedDate = 'lastEditedDate'; $config->search->fields->todo = new stdclass(); diff --git a/module/search/tao.php b/module/search/tao.php index 09441540e7..96c031e735 100644 --- a/module/search/tao.php +++ b/module/search/tao.php @@ -1,4 +1,4 @@ -gen(10); zdTable('bug')->gen(10); @@ -11,17 +10,23 @@ zdTable('todo')->gen(10); zdTable('build')->gen(10); zdTable('product')->gen(10); zdTable('release')->gen(10); -zdTable('testtask')->gen(10); +zdTable('testtask')->config('testtask')->gen(10); zdTable('testsuite')->gen(10); zdTable('testreport')->gen(10); zdTable('productplan')->gen(10); zdTable('project')->gen(100); -zdTable('story')->gen(10); +zdTable('storyspec')->gen(10); +zdTable('doccontent')->gen(10); + +$story = zdTable('story'); +$story->version->range('1'); +$story->gen(10); $doc = zdTable('doc'); $doc->version->range('1'); $doc->gen(10); -zdTable('doccontent')->gen(10); + +su('admin'); /** @@ -91,4 +96,4 @@ r($search->getListTest($searchWords[12], $searchType[13])) && p() && e('0'); / r($search->getListTest($searchWords[13], $searchType[14])) && p() && e('10'); //测试在项目集类型中搜索带有项目集字体的条数 r($search->getListTest($searchWords[14], $searchType[15])) && p() && e('90'); //测试在项目类型中搜索带有项目字体的条数 r($search->getListTest($searchWords[15], $searchType[16])) && p() && e('0'); //测试在迭代类型中搜索带有迭代字体的条数 -r($search->getListTest($searchWords[16], $searchType[17])) && p() && e('5'); //测试在需求类型中搜索带有需求字体的条数 \ No newline at end of file +r($search->getListTest($searchWords[16], $searchType[17])) && p() && e('5'); //测试在需求类型中搜索带有需求字体的条数 diff --git a/module/search/test/search.class.php b/module/search/test/search.class.php index c591fd8553..159e3f3047 100755 --- a/module/search/test/search.class.php +++ b/module/search/test/search.class.php @@ -283,6 +283,8 @@ class searchTest */ public function getListTest(string $keywords, string|array $type): int|array { + zdTable('searchindex')->gen(0); + zdTable('searchdict')->gen(0); $result = array(); while(!isset($result['finished'])) { @@ -300,10 +302,6 @@ class searchTest if(dao::isError()) return dao::getError(); - global $tester; - $tester->dao->delete()->from(TABLE_SEARCHINDEX)->exec(); - $tester->dao->delete()->from(TABLE_SEARCHDICT)->exec(); - return count($objects); } @@ -610,6 +608,8 @@ class searchTest $results = $tester->dao->select('*')->from(TABLE_SEARCHINDEX)->fetchAll(); + $tester->app->setModuleName('search'); + $tester->app->setMethodName('setResultsInPage'); $tester->app->loadClass('pager', true); $pager = new pager(0, $recPerPage, $pageID); @@ -668,9 +668,9 @@ class searchTest foreach($dataList as $data) { - $data->comment = str_replace("\n", '', $data->comment); - $data->desc = str_replace("\n", '', $data->desc); - $data->expect = str_replace("\n", '', $data->expect); + if(!empty($data->comment)) $data->comment = str_replace("\n", '', $data->comment); + if(!empty($data->desc)) $data->desc = str_replace("\n", '', $data->desc); + if(!empty($data->expect)) $data->expect = str_replace("\n", '', $data->expect); } return $dataList; diff --git a/module/search/test/tao/processqueryformdata.php b/module/search/test/tao/processqueryformdatas.php similarity index 90% rename from module/search/test/tao/processqueryformdata.php rename to module/search/test/tao/processqueryformdatas.php index 9960ba18e7..ea719f73ed 100755 --- a/module/search/test/tao/processqueryformdata.php +++ b/module/search/test/tao/processqueryformdatas.php @@ -38,24 +38,20 @@ $valueName = 'value1'; $postDatas = array(); $postData1 = new stdClass(); -$postData1->$field = 'title'; $postData1->$andOrName = 'and'; $postData1->$operatorName = 'include'; $postData1->$valueName = '测试'; $postData2 = new stdClass(); -$postData2->$field = 'id'; $postData2->$andOrName = 'or'; $postData2->$operatorName = '='; $postData2->$valueName = '1'; $postData3 = new stdClass(); -$postData3->$field = 'status'; $postData3->$andOrName = ''; $postData3->$operatorName = ''; $postData4 = new stdClass(); -$postData4->$field = 'activatedCount'; $postData4->$andOrName = ''; $postData4->$operatorName = ''; $postData4->$valueName = 'ZERO'; @@ -69,4 +65,4 @@ $search = new searchTest(); r($search->processQueryFormDatasTest($postDatas[0], $fields[0], $andOrName, $operatorName, $valueName)) && p('andOr,operator,value') && e('AND,include,测试'); //测试 andOr,operator,value 的值 r($search->processQueryFormDatasTest($postDatas[1], $fields[1], $andOrName, $operatorName, $valueName)) && p('andOr,operator,value') && e('OR,=,1'); //测试 andOr,operator,value 的值 r($search->processQueryFormDatasTest($postDatas[2], $fields[2], $andOrName, $operatorName, $valueName)) && p('andOr,operator,value') && e('AND,=,~~'); //测试 andOr,operator,value 的值 -r($search->processQueryFormDatasTest($postDatas[3], $fields[3], $andOrName, $operatorName, $valueName)) && p('andOr,operator,value') && e('AND,=,0'); //测试 andOr,operator,value 的值 \ No newline at end of file +r($search->processQueryFormDatasTest($postDatas[3], $fields[3], $andOrName, $operatorName, $valueName)) && p('andOr,operator,value') && e('AND,=,0'); //测试 andOr,operator,value 的值 diff --git a/module/search/test/tao/setcondition.php b/module/search/test/tao/setcondition.php index e92993be49..7f12bf64c8 100755 --- a/module/search/test/tao/setcondition.php +++ b/module/search/test/tao/setcondition.php @@ -6,6 +6,7 @@ include dirname(__FILE__, 2) . '/search.class.php'; su('admin'); zdTable('module')->gen(5); +zdTable('scene')->gen(1); /** @@ -29,6 +30,7 @@ cid=1 $operators = array('include', 'notinclude', 'belong', 'between', '='); $fields = array('module', 'title', 'dept', 'scene', 'id', 'date'); $values = array(1, 'test', '0', '$thisMonth', '1,2,3'); +$thisMonth = 1; $search = new searchTest(); r($search->setConditionTest($fields[0], $operators[0], $values[0])) && p() && e("= '1'"); //测试 module 包含 id 为 1 的条件 diff --git a/module/search/test/yaml/testtask.yaml b/module/search/test/yaml/testtask.yaml new file mode 100644 index 0000000000..a3611fb131 --- /dev/null +++ b/module/search/test/yaml/testtask.yaml @@ -0,0 +1,10 @@ +title: table zt_testtask +desc: "测试版本" +author: automated export +version: "1.0" +fields: + - field: createdDate + note: "创建日期" + range: "-:60" + type: timestamp + format: "YYYY-MM-DD hh:mm:ss"