From ca338f2796b1e2cfeab45b2c3b36d4310bcfec6b Mon Sep 17 00:00:00 2001 From: liuhong Date: Sat, 29 Apr 2023 16:17:18 +0800 Subject: [PATCH] * Adjust code for unit test. --- .../project/test/model/deletebytablename.php | 88 ++++++------------- .../test/model/yaml/deletebytablename/1.yaml | 8 -- .../model/yaml/deletebytablename/project.yaml | 18 ++++ .../deletebytablename/projectproduct.yaml | 8 ++ test/data/projectproduct.yaml | 1 + 5 files changed, 52 insertions(+), 71 deletions(-) delete mode 100644 module/project/test/model/yaml/deletebytablename/1.yaml create mode 100644 module/project/test/model/yaml/deletebytablename/project.yaml create mode 100644 module/project/test/model/yaml/deletebytablename/projectproduct.yaml diff --git a/module/project/test/model/deletebytablename.php b/module/project/test/model/deletebytablename.php index 99b725dcc1..e76149903b 100755 --- a/module/project/test/model/deletebytablename.php +++ b/module/project/test/model/deletebytablename.php @@ -6,28 +6,29 @@ su('admin'); function initData() { - $project = zdTable('project'); - $project->id->range('1,3'); - $project->type->range("project"); - $project->status->range("doing,closed"); - $project->project->range('1,3'); - $project->name->prefix('项目')->range('1,3'); - $project->gen(2); + #scrum + #project1 对应product1 对应execution1,3 对应文档库2 + #project3 对应product2,3 对应execution2,4 对应文档库3 + + #waterfall + #kanban/stage + #无迭代项目 + + $project = zdTable('project')->config('project')->gen(5); $product = zdTable('product'); - $product->id->range('7-9'); + $product->id->range('1-3'); $product->gen(3); - $product = zdTable('projectproduct')->config('1')->gen(3); + $projectproduct = zdTable('projectproduct')->config('projectproduct')->gen(3); - $product = zdTable('doclib'); - $product->id->range('1'); - $product->execution->range('3'); - $product->gen(3); + $doclib = zdTable('doclib'); + $doclib->id->range('1'); + $doclib->execution->range('2'); + $doclib->gen(1); } /** - title=测试 projectModel->deleteByTableName(); cid=1 pid=1 @@ -39,53 +40,14 @@ $tester->loadModel('project'); initData(); -die; -$project = new stdclass(); -$project->parent = 0; -$project->name = '测试新增项目一'; -$project->budget = ''; -$project->budgetUnit = 'CNY'; -$project->begin = '2022-02-07'; -$project->end = '2023-01-01'; -$project->desc = '测试项目描述'; -$project->acl = 'private'; -$project->whitelist = 'user1,user2,user3'; -$project->PM = 'admin'; -$project->type = 'project'; -$project->model = 'scrum'; -$project->multiple = 1; -$project->hasProduct = 1; +$executions = $tester->loadModel('execution')->getPairs(1); +$project1 = $tester->project->deleteByTableName('zt_doclib', 2); +$project2 = $tester->project->deleteByTableName('zt_product', 2); +$project3 = $tester->project->deleteByTableName('zt_project', 2); +$project4 = $tester->project->deleteByTableName('zt_project', $executions); -$postData = new stdclass(); -$postData->rawdata = clone $project; -$postData->rawdata->uid = '64dda2xc'; -$postData->rawdata->delta = 0; -$postData->rawdata->products = array(1); - -$normalProject = clone $project; - -$emptyNameProject = clone $project; -$emptyNameProject->name = ''; - -$emptyBeginProject = clone $project; -$emptyBeginProject->name = '测试新增项目二'; -$emptyBeginProject->begin = ''; - -$emptyEndProject = clone $project; -$emptyEndProject->end = ''; -$emptyEndProject->name = '测试新增项目三'; - -$beginGtEndProject = clone $project; -$beginGtEndProject->end = '2021-01-10'; -$beginGtEndProject->name = '测试新增项目四'; - -$productIdList = array(1, 2, 3, 4); -$tester->project->updateProductProgram(7, 1, $productIdList); - -$products = $tester->loadModel('product')->getByIdList($productIdList); - -r(count($products)) && p('') && e('4'); // 查看被更新了项目集的产品数量 -r($products) && p('1:program,name') && e('1,正常产品1'); // 查看被更新了项目集的产品详情 -r($products) && p('2:program,name') && e('1,正常产品2'); // 查看被更新了项目集的产品详情 -r($products) && p('3:program,name') && e('1,正常产品3'); // 查看被更新了项目集的产品详情 -r($products) && p('4:program,name') && e('1,正常产品4'); // 查看被更新了项目集的产品详情 +a($project1);die; +r($project1) && p('1:program,name') && e('1,正常产品1'); #删除项目编号为2,同时删除项目下文档库 +r($project2) && p('2:program,name') && e('1,正常产品2'); #删除项目编号为2,同时删除项目下的一个产品 +r($project3) && p('3:program,name') && e('1,正常产品3'); #删除项目编号为2,同时删除项目下的一个执行 +r($project4) && p('4:program,name') && e('1,正常产品4'); #删除项目编号为1,同时删除项目下关联的全部产品 diff --git a/module/project/test/model/yaml/deletebytablename/1.yaml b/module/project/test/model/yaml/deletebytablename/1.yaml deleted file mode 100644 index 226d1ea031..0000000000 --- a/module/project/test/model/yaml/deletebytablename/1.yaml +++ /dev/null @@ -1,8 +0,0 @@ -title: zt_projectproduct -author: auto_suspend -version: "1.0" -fields: - - fiel d: project - range: 1-3 - - field: product - range: [`abc`] diff --git a/module/project/test/model/yaml/deletebytablename/project.yaml b/module/project/test/model/yaml/deletebytablename/project.yaml new file mode 100644 index 0000000000..73ab85170c --- /dev/null +++ b/module/project/test/model/yaml/deletebytablename/project.yaml @@ -0,0 +1,18 @@ +title: zt_project +author: liuhong +version: "1.0" +fields: + - field: id + range: 1-5 + - field: project + range: 0, 1, 0, 3, 3 + - field: model + range: 'scrum, ,waterfall, , ,' + - field: type + range: 'project,sprint,project,stage,stage' + - field: status + range: 'wait,doing,closed,suspended' + - field: parent + range: 0, 1, 0, 3, 3 + - field: path + range: `,1,`, `,1,2,`, `,3,`, `,3,4,`, `,3,4,5,` diff --git a/module/project/test/model/yaml/deletebytablename/projectproduct.yaml b/module/project/test/model/yaml/deletebytablename/projectproduct.yaml new file mode 100644 index 0000000000..8ae78dc148 --- /dev/null +++ b/module/project/test/model/yaml/deletebytablename/projectproduct.yaml @@ -0,0 +1,8 @@ +title: zt_projectproduct +author: liuhong +version: "1.0" +fields: + - field: project + range: 1{1},2{2} + - field: product + range: 1, 2, 3 diff --git a/test/data/projectproduct.yaml b/test/data/projectproduct.yaml index b2f0d8234e..1cba346cc0 100644 --- a/test/data/projectproduct.yaml +++ b/test/data/projectproduct.yaml @@ -1,4 +1,5 @@ title: zt_projectproduct +author: Liuhong desc: 项目关联产品表 version: 1.0 fields: