diff --git a/module/doc/test/doc.class.php b/module/doc/test/doc.class.php index 326371fc43..e609c735a2 100644 --- a/module/doc/test/doc.class.php +++ b/module/doc/test/doc.class.php @@ -1225,4 +1225,21 @@ class docTest if(dao::isError()) return dao::getError(); return $data; } + + /** + * 获取关联项目的数据。 + * Get the data of the linked project. + * + * @param int $productID + * @access public + * @return array + */ + public function getLinkedProjectDataTest(int $projectID, string $edition = ''): array + { + $this->objectModel->config->edition = $edition; + $data = $this->objectModel->getLinkedProjectData($projectID); + + if(dao::isError()) return dao::getError(); + return $data; + } } diff --git a/module/doc/test/model/getlinkedprojectdata.php b/module/doc/test/model/getlinkedprojectdata.php new file mode 100644 index 0000000000..fc4fe7287c --- /dev/null +++ b/module/doc/test/model/getlinkedprojectdata.php @@ -0,0 +1,58 @@ +#!/usr/bin/env php +getLinkedProjectData(); +timeout=0 +cid=1 + +*/ + +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/doc.class.php'; + +$projectstoryTable = zdTable('projectstory'); +$projectstoryTable->project->range('11, 60, 61, 100'); +$projectstoryTable->gen(20); + +$issuetable = zdtable('issue'); +$issuetable->project->range('11, 60, 61, 100'); +$issuetable->gen(20); + +$meetingTable = zdTable('meeting'); +$meetingTable->project->range('11, 60, 61, 100'); +$meetingTable->gen(20); + +$reviewTable = zdTable('review'); +$reviewTable->project->range('11, 60, 61, 100'); +$reviewTable->gen(20); + +$designTable = zdTable('design'); +$designTable->project->range('11, 60, 61, 100'); +$designTable->gen(20); + +$taskTable = zdTable('task'); +$taskTable->execution->range('101-110'); +$taskTable->gen(20); + +$buildTable = zdTable('build'); +$buildTable->execution->range('101-110'); +$buildTable->gen(20); + +zdTable('project')->config('execution')->gen(10); +zdTable('user')->gen(5); +su('admin'); + +$projects = array(0, 11, 60); +$editions = array('open', 'max', 'ipd'); + +$docTester = new docTest(); +r($docTester->getLinkedProjectDataTest($projects[0], $editions[0])) && p('4') && e("SELECT id FROM `zt_design` WHERE `project` = '0' AND `deleted` = '0'"); // 获取开源版系统中所有关联项目的数据 +r($docTester->getLinkedProjectDataTest($projects[0], $editions[1])) && p('1') && e("SELECT id FROM `zt_issue` WHERE `project` = '0' AND `deleted` = '0'"); // 获取旗舰版系统中所有关联项目的数据 +r($docTester->getLinkedProjectDataTest($projects[0], $editions[2])) && p('2') && e("SELECT id FROM `zt_meeting` WHERE `project` = '0' AND `deleted` = '0'"); // 获取ipd版系统中所有关联项目的数据 +r($docTester->getLinkedProjectDataTest($projects[1], $editions[0])) && p('4') && e("SELECT id FROM `zt_design` WHERE `project` = '11' AND `deleted` = '0'"); // 获取开源版系统中所有关联项目ID=11的数据 +r($docTester->getLinkedProjectDataTest($projects[1], $editions[1])) && p('1') && e("SELECT id FROM `zt_issue` WHERE `project` = '11' AND `deleted` = '0'"); // 获取旗舰版系统中所有关联项目ID=11的数据 +r($docTester->getLinkedProjectDataTest($projects[1], $editions[2])) && p('2') && e("SELECT id FROM `zt_meeting` WHERE `project` = '11' AND `deleted` = '0'"); // 获取ipd版系统中所有关联项目ID=11的数据 +r($docTester->getLinkedProjectDataTest($projects[2], $editions[0])) && p('4') && e("SELECT id FROM `zt_design` WHERE `project` = '60' AND `deleted` = '0'"); // 获取开源版系统中所有关联项目ID=60的数据 +r($docTester->getLinkedProjectDataTest($projects[2], $editions[1])) && p('1') && e("SELECT id FROM `zt_issue` WHERE `project` = '60' AND `deleted` = '0'"); // 获取旗舰版系统中所有关联项目ID=60的数据 +r($docTester->getLinkedProjectDataTest($projects[2], $editions[2])) && p('2') && e("SELECT id FROM `zt_meeting` WHERE `project` = '60' AND `deleted` = '0'"); // 获取ipd版系统中所有关联项目ID=60的数据