From 737be004b150af172afd95aa05203b7c19b462f0 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Mon, 28 Mar 2022 17:16:42 +0800 Subject: [PATCH] * Add auto test of kanban. --- test/class/kanban.class.php | 853 ++++++++++++++++++++++++++ test/model/kanban/activatecard.php | 30 + test/model/kanban/addkanbancell.php | 39 ++ test/model/kanban/archivecard.php | 24 + test/model/kanban/archivecolumn.php | 25 + test/model/kanban/batchcreatecard.php | 25 + test/model/kanban/create.php | 71 +++ test/ztest | 3 + 8 files changed, 1070 insertions(+) create mode 100644 test/class/kanban.class.php create mode 100755 test/model/kanban/activatecard.php create mode 100755 test/model/kanban/addkanbancell.php create mode 100755 test/model/kanban/archivecard.php create mode 100755 test/model/kanban/archivecolumn.php create mode 100755 test/model/kanban/batchcreatecard.php create mode 100755 test/model/kanban/create.php diff --git a/test/class/kanban.class.php b/test/class/kanban.class.php new file mode 100644 index 0000000000..0058ee741e --- /dev/null +++ b/test/class/kanban.class.php @@ -0,0 +1,853 @@ +objectModel = $tester->loadModel('kanban'); + } + + public function createGroupTest($kanbanID, $regionID) + { + $objects = $this->objectModel->createGroup($kanbanID, $regionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createDefaultRegionTest($kanban) + { + $objects = $this->objectModel->createDefaultRegion($kanban); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createRegionTest($kanban, $region = null, $copyRegionID = 0, $from = 'kanban') + { + $objects = $this->objectModel->createRegion($kanban, $region = null, $copyRegionID = 0, $from = 'kanban'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createDefaultLaneTest($kanban, $regionID, $groupID) + { + $objects = $this->objectModel->createDefaultLane($kanban, $regionID, $groupID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createDefaultColumnsTest($kanban, $regionID, $groupID) + { + $objects = $this->objectModel->createDefaultColumns($kanban, $regionID, $groupID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createColumnTest($regionID, $column = null, $order = 0, $parent = 0, $from = 'kanban') + { + $objects = $this->objectModel->createColumn($regionID, $column = null, $order = 0, $parent = 0, $from = 'kanban'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function splitColumnTest($columnID) + { + $objects = $this->objectModel->splitColumn($columnID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createCardTest($kanbanID, $regionID, $groupID, $columnID) + { + $objects = $this->objectModel->createCard($kanbanID, $regionID, $groupID, $columnID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function importCardTest($kanbanID, $regionID, $groupID, $columnID) + { + $objects = $this->objectModel->importCard($kanbanID, $regionID, $groupID, $columnID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function importObjectTest($kanbanID, $regionID, $groupID, $columnID, $objectType) + { + $objects = $this->objectModel->importObject($kanbanID, $regionID, $groupID, $columnID, $objectType); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test batch create kanban cards. + * + * @param array $param + * @param bool $endLtBegin + * @access public + * @return object + */ + public function batchCreateCardTest($param = array(), $endLtBegin = false) + { + $kanbanID = 1; + $regionID = 1; + $groupID = 1; + $columnID = 1; + $batchCreateFields['name'] = array('0' => '批量创建卡片1', '1' => '批量创建卡片2', '2' => '批量创建卡片3', '3' => '批量创建卡片4'); + $batchCreateFields['lane'] = array('0' => '1', '1' => 'ditto', '2' => 'ditto', '3' => 'ditto'); + $batchCreateFields['assignedTo'] = array(); + $batchCreateFields['estimate'] = array('0' => '1', '1' => '2', '2' => '3', '3' => '4'); + $batchCreateFields['begin'] = array('0' => date('Y-m-d', time()), '1' => date('Y-m-d', time()), '2' => '', '3' => ''); + $batchCreateFields['end'] = !$endLtBegin ? array('0' => date('Y-m-d', time()), '1' => '', '2' => '', '3' => '') : array('0' => date('Y-m-d', strtotime("-1 day")), '1' => date('Y-m-d', strtotime("-1 day")), '2' => date('Y-m-d', strtotime("-2 day")), '3' => date('Y-m-d', strtotime("-3 day"))); + $batchCreateFields['desc'] = array('0' => '描述1', '1' => '描述2', '2' => '描述3', '3' => '描述4'); + $batchCreateFields['pri'] = array('0' => '1', '1' => '2', '2' => '3', '3' => '4'); + $batchCreateFields['beginDitto'] = array('1' => 'on', '2' => 'on', '3' => 'on', '4' => 'on'); + $batchCreateFields['endDitto'] = array('1' => 'on', '2' => 'on', '3' => 'on', '4' => 'on'); + + foreach($batchCreateFields as $field => $defaultValue) $_POST[$field] = $defaultValue; + + foreach($param as $key => $value) $_POST[$key] = $value; + + $this->objectModel->batchCreateCard($kanbanID, $regionID, $groupID, $columnID); + + global $tester; + $object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('kanban')->eq($kanbanID)->andWhere('lane')->eq(1)->andWhere('`column`')->eq($columnID)->andWhere('type')->eq('common')->fetch(); + + unset($_POST); + + if(dao::isError()) return dao::getError()[0]; + + return $object; + } + + public function getByIDTest($kanbanID) + { + $objects = $this->objectModel->getByID($kanbanID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getKanbanDataTest($kanbanID) + { + $objects = $this->objectModel->getKanbanData($kanbanID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getPlanKanbanTest($product, $branchID = 0, $planGroup = '') + { + $objects = $this->objectModel->getPlanKanban($product, $branchID = 0, $planGroup = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getRDKanbanTest($executionID, $browseType = 'all', $orderBy = 'id_desc', $regionID = 0, $groupBy = 'default') + { + $objects = $this->objectModel->getRDKanban($executionID, $browseType = 'all', $orderBy = 'id_desc', $regionID = 0, $groupBy = 'default'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getRegionByIDTest($regionID) + { + $objects = $this->objectModel->getRegionByID($regionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getRegionPairsTest($kanbanID, $regionID = 0, $from = 'kanban') + { + $objects = $this->objectModel->getRegionPairs($kanbanID, $regionID = 0, $from = 'kanban'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getKanbanIDByRegionTest($regionID) + { + $objects = $this->objectModel->getKanbanIDByRegion($regionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getGroupGroupByRegionsTest($regions) + { + $objects = $this->objectModel->getGroupGroupByRegions($regions); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLaneGroupByRegionsTest($regions, $browseType = 'all') + { + $objects = $this->objectModel->getLaneGroupByRegions($regions, $browseType = 'all'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLanePairsByGroupTest($groupID, $orderBy = '`order`_asc') + { + $objects = $this->objectModel->getLanePairsByGroup($groupID, $orderBy = '`order`_asc'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getColumnGroupByRegionsTest($regions, $order = 'order') + { + $objects = $this->objectModel->getColumnGroupByRegions($regions, $order = 'order'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCardGroupByKanbanTest($kanbanID) + { + $objects = $this->objectModel->getCardGroupByKanban($kanbanID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getImportedCardsTest($kanbanID, $cards, $fromType) + { + $objects = $this->objectModel->getImportedCards($kanbanID, $cards, $fromType); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getRDColumnGroupByRegionsTest($regions, $groupIDList = array()) + { + $objects = $this->objectModel->getRDColumnGroupByRegions($regions, $groupIDList = array()); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCardGroupByExecutionTest($executionID, $browseType = 'all', $orderBy = 'id_asc') + { + $objects = $this->objectModel->getCardGroupByExecution($executionID, $browseType = 'all', $orderBy = 'id_asc'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getExecutionKanbanTest($executionID, $browseType = 'all', $groupBy = 'default') + { + $objects = $this->objectModel->getExecutionKanban($executionID, $browseType = 'all', $groupBy = 'default'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getKanban4GroupTest($executionID, $browseType, $groupBy) + { + $objects = $this->objectModel->getKanban4Group($executionID, $browseType, $groupBy); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLanes4GroupTest($executionID, $browseType, $groupBy, $cardList) + { + $objects = $this->objectModel->getLanes4Group($executionID, $browseType, $groupBy, $cardList); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getSpaceListTest($browseType, $pager = null) + { + $objects = $this->objectModel->getSpaceList($browseType, $pager = null); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getSpacePairsTest($browseType = 'private') + { + $objects = $this->objectModel->getSpacePairs($browseType = 'private'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getKanbanPairsTest() + { + $objects = $this->objectModel->getKanbanPairs(); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCanViewObjectsTest($objectType = 'kanban', $param = '') + { + $objects = $this->objectModel->getCanViewObjects($objectType = 'kanban', $param = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createSpaceTest() + { + $objects = $this->objectModel->createSpace(); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateSpaceTest($spaceID, $type = '') + { + $objects = $this->objectModel->updateSpace($spaceID, $type = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLanePairsByRegionTest($regionID, $type = 'all') + { + $objects = $this->objectModel->getLanePairsByRegion($regionID, $type = 'all'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLaneGroupByRegionTest($regionID, $type = 'all') + { + $objects = $this->objectModel->getLaneGroupByRegion($regionID, $type = 'all'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createLaneTest($kanbanID, $regionID, $lane = null) + { + $objects = $this->objectModel->createLane($kanbanID, $regionID, $lane = null); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test create a kanban. + * + * @param array $param + * @access public + * @return object + */ + public function createTest($param = array(), $field = '') + { + foreach($param as $key => $value) $_POST[$key] = $value; + + $objectID = $this->objectModel->create(); + + unset($_POST); + + if(dao::isError()) return dao::getError()[$field][0]; + + $object = $this->objectModel->getByID($objectID); + return $object; + } + + public function updateTest($kanbanID) + { + $objects = $this->objectModel->update($kanbanID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createExecutionLaneTest($executionID, $type = 'all', $groupBy = 'default') + { + $objects = $this->objectModel->createExecutionLane($executionID, $type = 'all', $groupBy = 'default'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createExecutionColumnsTest($laneID, $type, $executionID) + { + $objects = $this->objectModel->createExecutionColumns($laneID, $type, $executionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test add kanban cell. + * + * @param int $kanbanID + * @param int $laneID + * @param int $colID + * @param int $type + * @param int $cardID + * @access public + * @return object + */ + public function addKanbanCellTest($kanbanID, $laneID, $colID, $type, $cardID = 0) + { + $this->objectModel->addKanbanCell($kanbanID, $laneID, $colID, $type, $cardID); + + + if(dao::isError()) return dao::getError(); + + global $tester; + $object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('kanban')->eq($kanbanID)->andWhere('lane')->eq($laneID)->andWhere('`column`')->eq($colID)->andWhere('type')->eq($type)->fetch(); + return $object; + } + + public function removeKanbanCellTest($type, $removeCardID, $kanbanList) + { + $objects = $this->objectModel->removeKanbanCell($type, $removeCardID, $kanbanList); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createRDKanbanTest($execution) + { + $objects = $this->objectModel->createRDKanban($execution); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createRDRegionTest($execution) + { + $objects = $this->objectModel->createRDRegion($execution); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createRDLaneTest($executionID, $regionID) + { + $objects = $this->objectModel->createRDLane($executionID, $regionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createRDColumnTest($regionID, $groupID, $laneID, $laneType, $executionID) + { + $objects = $this->objectModel->createRDColumn($regionID, $groupID, $laneID, $laneType, $executionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateRegionTest($regionID) + { + $objects = $this->objectModel->updateRegion($regionID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateLaneTest($executionID, $laneType, $cardID = 0) + { + $objects = $this->objectModel->updateLane($executionID, $laneType, $cardID = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function refreshCardsTest($lane) + { + $objects = $this->objectModel->refreshCards($lane); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateLaneColumnTest($columnID, $column) + { + $objects = $this->objectModel->updateLaneColumn($columnID, $column); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateLaneOrderTest($executionID, $currentType, $targetType) + { + $objects = $this->objectModel->updateLaneOrder($executionID, $currentType, $targetType); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test activate a card. + * + * @param int $cardID + * @param int $progress + * @access public + * @return object + */ + public function activateCardTest($cardID, $progress) + { + global $tester; + $tester->post->progress = $progress; + + $this->objectModel->activateCard($cardID); + + unset($this->post); + + if(dao::isError()) return dao::getError()[0]; + + $object = $this->objectModel->getCardByID($cardID); + return $object; + } + + public function updateCardTest($cardID) + { + $objects = $this->objectModel->updateCard($cardID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setWIPTest($columnID) + { + $objects = $this->objectModel->setWIP($columnID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setLaneTest($laneID) + { + $objects = $this->objectModel->setLane($laneID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setLaneHeightTest($kanbanID, $from = 'kanban') + { + $objects = $this->objectModel->setLaneHeight($kanbanID, $from = 'kanban'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setColumnWidthTest($kanbanID, $from = 'kanban') + { + $objects = $this->objectModel->setColumnWidth($kanbanID, $from = 'kanban'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setHeaderActionsTest($kanban) + { + $objects = $this->objectModel->setHeaderActions($kanban); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function setSwitcherTest($kanban) + { + $objects = $this->objectModel->setSwitcher($kanban); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function sortGroupTest($region, $groups) + { + $objects = $this->objectModel->sortGroup($region, $groups); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function moveCardTest($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID = 0) + { + $objects = $this->objectModel->moveCard($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateCardColorTest($cardID, $color) + { + $objects = $this->objectModel->updateCardColor($cardID, $color); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function resetLaneOrderTest($executionID, $type, $groupBy) + { + $objects = $this->objectModel->resetLaneOrder($executionID, $type, $groupBy); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test archive a column. + * + * @param int $columnID + * @access public + * @return array + */ + public function archiveColumnTest($columnID) + { + $this->objectModel->archiveColumn($columnID); + + $object = $this->objectModel->getColumnByID($columnID); + + if(dao::isError()) return dao::getError(); + + return $object; + } + + public function restoreColumnTest($columnID) + { + $objects = $this->objectModel->restoreColumn($columnID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test archive a card. + * + * @param int $cardID + * @access public + * @return array + */ + public function archiveCardTest($cardID) + { + $changes = $this->objectModel->archiveCard($cardID); + + if(dao::isError()) return dao::getError(); + + return $changes; + } + + public function restoreCardTest($cardID) + { + $objects = $this->objectModel->restoreCard($cardID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function processCardsTest($column) + { + $objects = $this->objectModel->processCards($column); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getSpaceByIdTest($spaceID) + { + $objects = $this->objectModel->getSpaceById($spaceID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getGroupBySpaceListTest($spaceIdList, $kanbanIdList = '') + { + $objects = $this->objectModel->getGroupBySpaceList($spaceIdList, $kanbanIdList = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getGroupListTest($region) + { + $objects = $this->objectModel->getGroupList($region); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getColumnByIDTest($columnID) + { + $objects = $this->objectModel->getColumnByID($columnID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getColumnsByObjectTest($objectType = '', $objectID = 0, $archived = 0, $deleted = '0') + { + $objects = $this->objectModel->getColumnsByObject($objectType = '', $objectID = 0, $archived = 0, $deleted = '0'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getColumnIDByLaneIDTest($laneID, $columnType) + { + $objects = $this->objectModel->getColumnIDByLaneID($laneID, $columnType); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getLaneByIdTest($laneID) + { + $objects = $this->objectModel->getLaneById($laneID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getObjectGroupTest($executionID, $type, $groupBy) + { + $objects = $this->objectModel->getObjectGroup($executionID, $type, $groupBy); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCardByIDTest($cardID) + { + $objects = $this->objectModel->getCardByID($cardID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCardsByObjectTest($objectType = '', $objectID = 0, $archived = '0', $deleted = '0') + { + $objects = $this->objectModel->getCardsByObject($objectType = '', $objectID = 0, $archived = '0', $deleted = '0'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCards2ImportTest($kanbanID = 0, $excludedID = 0, $pager = null) + { + $objects = $this->objectModel->getCards2Import($kanbanID = 0, $excludedID = 0, $pager = null); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getKanbanCardMenuTest($executionID, $objects, $objecType) + { + $objects = $this->objectModel->getKanbanCardMenu($executionID, $objects, $objecType); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function isClickableTest($object, $action) + { + $objects = $this->objectModel->isClickable($object, $action); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function importTest($kanbanID) + { + $objects = $this->objectModel->import($kanbanID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } +} diff --git a/test/model/kanban/activatecard.php b/test/model/kanban/activatecard.php new file mode 100755 index 0000000000..06e1f85d09 --- /dev/null +++ b/test/model/kanban/activatecard.php @@ -0,0 +1,30 @@ +#!/usr/bin/env php +activateCard(); +cid=1 +pid=1 + +*/ + +$cardIDList = array('1', '2', '3', '4', '5', '100001'); +$progressList = array('0', '50', '100', '101', '-1'); + +$kanban = new kanbanTest(); + +r($kanban->activateCardTest($cardIDList[0], $progressList[0])) && p('id,name,status,progress') && e('1,卡片1,doing,0'); // 测试激活卡片1,进度0 +r($kanban->activateCardTest($cardIDList[0], $progressList[1])) && p('id,name,status,progress') && e('1,卡片1,doing,50'); // 测试激活卡片1,进度50 +r($kanban->activateCardTest($cardIDList[0], $progressList[2])) && p('0:') && e('请输入正确的进度'); // 测试激活卡片1,进度100 +r($kanban->activateCardTest($cardIDList[0], $progressList[3])) && p('0:') && e('请输入正确的进度'); // 测试激活卡片1,进度101 +r($kanban->activateCardTest($cardIDList[0], $progressList[4])) && p('0:') && e('请输入正确的进度'); // 测试激活卡片1,进度-1 +r($kanban->activateCardTest($cardIDList[1], $progressList[0])) && p('id,name,status,progress') && e('2,卡片2,doing,0'); // 测试激活卡片2,进度0 +r($kanban->activateCardTest($cardIDList[2], $progressList[1])) && p('id,name,status,progress') && e('3,卡片3,doing,50'); // 测试激活卡片3,进度0 +r($kanban->activateCardTest($cardIDList[3], $progressList[0])) && p('id,name,status,progress') && e('4,卡片4,doing,0'); // 测试激活卡片4,进度0 +r($kanban->activateCardTest($cardIDList[4], $progressList[1])) && p('id,name,status,progress') && e('5,卡片5,doing,50'); // 测试激活卡片5,进度0 +r($kanban->activateCardTest($cardIDList[5], $progressList[0])) && p('id,name,status,progress') && e('0'); // 测试激活不存在的卡片,进度0 +system("./ztest init"); diff --git a/test/model/kanban/addkanbancell.php b/test/model/kanban/addkanbancell.php new file mode 100755 index 0000000000..6a12004ac1 --- /dev/null +++ b/test/model/kanban/addkanbancell.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +addKanbanCell(); +cid=1 +pid=1 + +*/ + +$kanban = new kanbanTest(); + +$kanbanIDList = array('1', '161'); +$laneIDList = array('1', '101', '102', '103'); +$columnIDList = array('1', '408', '412', '421'); +$typeList = array('common', 'story', 'bug', 'task'); +$cardID = '3'; + +r($kanban->addKanbanCellTest($kanbanIDList[0], $laneIDList[0], $columnIDList[0], $typeList[0])) && p('type,cards') && e('common,,0,1,2,'); // 更新类型为common的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[0], $laneIDList[0], $columnIDList[0], $typeList[0], $cardID)) && p('type,cards') && e('common,,3,0,1,2,'); // 更新类型为common的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[0], $laneIDList[1], $columnIDList[0], $typeList[0])) && p('type,cards') && e('common,'); // 插入类型为common的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[0], $laneIDList[1], $columnIDList[0], $typeList[0], $cardID)) && p('type,cards') && e('common,,3,'); // 插入类型为common的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[1], $columnIDList[1], $typeList[1])) && p('type,cards') && e('story,,0,'); // 更新类型为story的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[1], $columnIDList[1], $typeList[1], $cardID)) && p('type,cards') && e('story,,3,0,'); // 更新类型为story的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[1], $columnIDList[2], $typeList[1])) && p('type,cards') && e('story,'); // 插入类型为story的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[1], $columnIDList[2], $typeList[1], $cardID)) && p('type,cards') && e('story,,3,'); // 插入类型为story的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[2], $columnIDList[2], $typeList[2])) && p('type,cards') && e('bug,,0,'); // 更新类型为bug的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[2], $columnIDList[2], $typeList[2], $cardID)) && p('type,cards') && e('bug,,3,0,'); // 更新类型为bug的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[2], $columnIDList[3], $typeList[2])) && p('type,cards') && e('bug,'); // 插入类型为bug的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[2], $columnIDList[3], $typeList[2], $cardID)) && p('type,cards') && e('bug,,3,'); // 插入类型为bug的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[3], $columnIDList[3], $typeList[3])) && p('type,cards') && e('task,,0,'); // 更新类型为task的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[3], $columnIDList[3], $typeList[3], $cardID)) && p('type,cards') && e('task,,3,0,'); // 更新类型为task的kanbancell 有cardID +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[3], $columnIDList[0], $typeList[3])) && p('type,cards') && e('task,'); // 插入类型为task的kanbancell +r($kanban->addKanbanCellTest($kanbanIDList[1], $laneIDList[3], $columnIDList[0], $typeList[3], $cardID)) && p('type,cards') && e('task,,3,'); // 插入类型为task的kanbancell 有cardID +system("./ztest init"); diff --git a/test/model/kanban/archivecard.php b/test/model/kanban/archivecard.php new file mode 100755 index 0000000000..b9ad77afa9 --- /dev/null +++ b/test/model/kanban/archivecard.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +archiveCard(); +cid=1 +pid=1 + +*/ + +$cardIDList = array('1', '2', '3', '4', '5'); + +$kanban = new kanbanTest(); + +r($kanban->archiveCardTest($cardIDList[0])) && p('0:field,old,new') && e('archived,0,1'); // 测试归档卡片1 +r($kanban->archiveCardTest($cardIDList[1])) && p('0:field,old,new') && e('archived,0,1'); // 测试归档卡片2 +r($kanban->archiveCardTest($cardIDList[2])) && p('0:field,old,new') && e('archived,0,1'); // 测试归档卡片3 +r($kanban->archiveCardTest($cardIDList[3])) && p('0:field,old,new') && e('archived,0,1'); // 测试归档卡片4 +r($kanban->archiveCardTest($cardIDList[4])) && p('0:field,old,new') && e('archived,0,1'); // 测试归档卡片5 +system("./ztest init"); diff --git a/test/model/kanban/archivecolumn.php b/test/model/kanban/archivecolumn.php new file mode 100755 index 0000000000..46f0a6b2aa --- /dev/null +++ b/test/model/kanban/archivecolumn.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +archiveColumn(); +cid=1 +pid=1 + +*/ + +$columnIDList = array('1', '2', '3', '4', '5', '1000001'); + +$kanban = new kanbanTest(); + +r($kanban->archiveColumnTest($columnIDList[0])) && p('id,archived') && e('1,1'); // 测试归档列1 +r($kanban->archiveColumnTest($columnIDList[1])) && p('id,archived') && e('2,1'); // 测试归档列2 +r($kanban->archiveColumnTest($columnIDList[2])) && p('id,archived') && e('3,1'); // 测试归档列3 +r($kanban->archiveColumnTest($columnIDList[3])) && p('id,archived') && e('4,1'); // 测试归档列4 +r($kanban->archiveColumnTest($columnIDList[4])) && p('id,archived') && e('5,1'); // 测试归档列5 +r($kanban->archiveColumnTest($columnIDList[5])) && p() && e('0'); // 测试归档不存在的列 +system("./ztest init"); diff --git a/test/model/kanban/batchcreatecard.php b/test/model/kanban/batchcreatecard.php new file mode 100755 index 0000000000..9581e0a08a --- /dev/null +++ b/test/model/kanban/batchcreatecard.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +batchCreateCard(); +cid=1 +pid=1 + +*/ + +$no_name = array('0' => '', '1' => '批量创建的卡片2', '2' => '批量创建的卡片3', '3' => '批量创建的卡片4'); +$estimate = array('0' => '1', '1' => '-1', '2' => '-2', '3' => '-3'); +$endDitto = array('1' => 'off', '2' => 'off', '3' => 'off', '4' => 'off'); + +$kanban = new kanbanTest(); + +r($kanban->batchCreateCardTest(array('name' => $no_name))) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,803,802,801,1,2,'); // 批量创建卡片 其中一个没有名称 +r($kanban->batchCreateCardTest(array('estimate' => $estimate))) && p() && e('预计不能为负数!'); // 批量创建卡片 预计为负数 +r($kanban->batchCreateCardTest(array(), true)) && p() && e('"截止日期"不能小于"预计开始"!'); // 批量创建看板 截止日期小于开始日期 +r($kanban->batchCreateCardTest()) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,810,809,808,807,804,803,802,801,1,2,'); // 批量创建看板 +system("./ztest init"); diff --git a/test/model/kanban/create.php b/test/model/kanban/create.php new file mode 100755 index 0000000000..143ed18fe4 --- /dev/null +++ b/test/model/kanban/create.php @@ -0,0 +1,71 @@ +#!/usr/bin/env php +create(); +cid=1 +pid=1 + +*/ + +$kanban1 = new stdclass(); +$kanban1->type = 'cooperation'; +$kanban1->space = 1; +$kanban1->name = '测试创建协作看板'; +$kanban1->owner = 'po15'; +$kanban1->team = array('', 'user3'); +$kanban1->desc = '测试创建协作看板的描述'; + +$kanban2 = new stdclass(); +$kanban2->type = 'private'; +$kanban2->space = 2; +$kanban2->name = '测试创建私人看板'; +$kanban2->owner = 'po16'; +$kanban2->whitelist = array('', 'user4'); +$kanban2->desc = '测试创建私人看板的描述'; + +$kanban3 = new stdclass(); +$kanban3->type = 'open'; +$kanban3->space = 3; +$kanban3->name = '测试创建公共看板'; +$kanban3->owner = 'po17'; +$kanban3->team = array('', 'user5'); +$kanban3->desc = '测试创建公共看板的描述'; + +$kanban4 = new stdclass(); +$kanban4->type = 'open'; +$kanban4->space = 3; +$kanban4->name = ''; +$kanban4->owner = 'po17'; +$kanban4->team = array('', 'user5'); +$kanban4->desc = '测试创建没有名字看板的描述'; + +$kanban5 = new stdclass(); +$kanban5->type = 'open'; +$kanban5->space = 0; +$kanban5->name = '测试创建没有空间的公共看板'; +$kanban5->owner = 'po17'; +$kanban5->team = array('', 'user5'); +$kanban5->desc = '测试创建没有空间的公共看板的描述'; + +$kanban6 = new stdclass(); +$kanban6->type = 'open'; +$kanban6->space = 3; +$kanban6->name = '测试创建公共看板'; +$kanban6->owner = 'po17'; +$kanban6->team = array('', 'user5'); +$kanban6->desc = '测试创建重名的公共看板的描述'; + +$kanban = new kanbanTest(); + +r($kanban->createTest($kanban1)) && p('name,space,type,owner,whitelist') && e('测试创建协作看板,1,,po15,'); // 创建协同空间 +r($kanban->createTest($kanban2)) && p('name,space,type,owner,whitelist') && e('测试创建私人看板,2,,admin,,user4'); // 创建私人空间 +r($kanban->createTest($kanban3)) && p('name,space,type,owner,whitelist') && e('测试创建公共看板,3,,po17,'); // 创建公共空间 +r($kanban->createTest($kanban4, 'name')) && p() && e('『看板名称』不能为空。'); // 创建没有名字的公共空间 +r($kanban->createTest($kanban5, 'space')) && p() && e('『所属空间』不能为空。'); // 创建没有空间公共空间 +r($kanban->createTest($kanban6, 'name')) && p() && e('『看板名称』已经有『测试创建公共看板』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。'); // 创建重名公共空间 +system("./ztest init"); diff --git a/test/ztest b/test/ztest index 8358ed1aaa..5c2666b4fb 100755 --- a/test/ztest +++ b/test/ztest @@ -49,6 +49,9 @@ switch($argv[1]) case 'dept': ztfRun('model/dept'); break; + case 'kanban': + ztfRun('model/kanban'); + break; case 'model': ztfRun('model'); break;