From 6a480f1bcc0af91ff3886f2e091d6f034f59f63a Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:37:34 +0800 Subject: [PATCH 1/9] + [task#146228,doing,2h,1h] Add function of edit project in lite. --- .../test/lib/editprojectlite.ui.class.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 module/project/test/lib/editprojectlite.ui.class.php diff --git a/module/project/test/lib/editprojectlite.ui.class.php b/module/project/test/lib/editprojectlite.ui.class.php new file mode 100644 index 0000000000..c349e6317c --- /dev/null +++ b/module/project/test/lib/editprojectlite.ui.class.php @@ -0,0 +1,20 @@ +loadPage('project', 'browse'); + $this->switchVision('lite'); + $form = $this->initForm('project', 'edit', array('projecID' => 1), 'appIframe-project'); + if(isset($project['name'])) $form->dom->name->setValue($project['name']); + if(isset($project['begin'])) $form->dom->begin->datePicker($project['begin']); + if(isset($project['end'])) $form->dom->end->datePicker($project['end']); From b0b052887d351ab9bccf95f54749c8b28b19611a Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:38:30 +0800 Subject: [PATCH 2/9] + [task#146228,doing,2h,1h] Add function of edit project in lite. --- .../test/lib/editprojectlite.ui.class.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/module/project/test/lib/editprojectlite.ui.class.php b/module/project/test/lib/editprojectlite.ui.class.php index c349e6317c..e3ed4b2ebe 100644 --- a/module/project/test/lib/editprojectlite.ui.class.php +++ b/module/project/test/lib/editprojectlite.ui.class.php @@ -18,3 +18,23 @@ class editProjectLiteTester extends tester if(isset($project['name'])) $form->dom->name->setValue($project['name']); if(isset($project['begin'])) $form->dom->begin->datePicker($project['begin']); if(isset($project['end'])) $form->dom->end->datePicker($project['end']); + if(isset($project['PM'])) $form->dom->PM->picker($project['PM']); + + $form->dom->btn($this->lang->save)->click(); + $form->wait(2); + return $this->checkResult($project); + } + + /** + * 编辑项目后结果检查。 + * Check the result after editing the project. + * + * @param array $project + * @access public + * @return object + */ + public function checkResult($project = array()) + { + /* 检查编辑页面提示信息 */ + $form = $this->loadPage('project', 'edit'); + if($this->response('method') != 'view') From 926800fc8ec4e037fdca836e5241d7b5c1bb6166 Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:39:30 +0800 Subject: [PATCH 3/9] + [task#146228,doing,2h,1h] Add function of edit project in lite. --- .../test/lib/editprojectlite.ui.class.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/module/project/test/lib/editprojectlite.ui.class.php b/module/project/test/lib/editprojectlite.ui.class.php index e3ed4b2ebe..3221534c30 100644 --- a/module/project/test/lib/editprojectlite.ui.class.php +++ b/module/project/test/lib/editprojectlite.ui.class.php @@ -38,3 +38,23 @@ class editProjectLiteTester extends tester /* 检查编辑页面提示信息 */ $form = $this->loadPage('project', 'edit'); if($this->response('method') != 'view') + { + if($form->dom->nameTip) + { + /* 检查项目名称不能为空 */ + if($project['name'] == '') + { + $nameTipText = $form->dom->nameTip->getText(); + $nameTip = sprintf($this->lang->error->notempty, $this->lang->project->name); + return ($nameTipText == $nameTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); + } + /* 检查项目名称唯一 */ + else + { + $existName = '运营界面项目2'; + $nameTipText = $form->dom->nameTip->getText(); + $nameTip = sprintf($this->lang->error->unique, $this->lang->project->name, $existName); + return ($nameTipText == $nameTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); + } + } + if($form->dom->endTip) From 954ea727d06043a1c3aa69eeb25e757d5bd84a0b Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:40:17 +0800 Subject: [PATCH 4/9] + [task#146228,doing,2h,1h] Add function of edit project in lite. --- .../test/lib/editprojectlite.ui.class.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/module/project/test/lib/editprojectlite.ui.class.php b/module/project/test/lib/editprojectlite.ui.class.php index 3221534c30..313a8c92ed 100644 --- a/module/project/test/lib/editprojectlite.ui.class.php +++ b/module/project/test/lib/editprojectlite.ui.class.php @@ -58,3 +58,23 @@ class editProjectLiteTester extends tester } } if($form->dom->endTip) + { + /* 检查结束日期不能为空 */ + if($project['end'] == '') + { + $endTipText = $form->dom->endTip->getText(); + $endTip = sprintf($this->lang->copyProject->endTip, ''); + return ($endTipText == $endTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); + } + /* 检查结束日期不能小于开始日期 */ + if($project['begin'] > $project['end']) + { + $endTipText = $form->dom->endTip->getText(); + $endTip = sprintf($this->lang->error->gt, $this->lang->project->end, $project['begin']); + return ($endTipText == $endTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); + } + } + } + + /* 跳转到项目列表页面,按照项目名称进行搜索 */ + $browsePage = $this->initForm('project', 'browse'); From 86a309bc0bca0fe5b65556f52317e066a0473458 Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:41:00 +0800 Subject: [PATCH 5/9] + [task#146228,doing,2h,1h] Add function of edit project in lite. --- .../project/test/lib/editprojectlite.ui.class.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/module/project/test/lib/editprojectlite.ui.class.php b/module/project/test/lib/editprojectlite.ui.class.php index 313a8c92ed..896cbc664e 100644 --- a/module/project/test/lib/editprojectlite.ui.class.php +++ b/module/project/test/lib/editprojectlite.ui.class.php @@ -78,3 +78,17 @@ class editProjectLiteTester extends tester /* 跳转到项目列表页面,按照项目名称进行搜索 */ $browsePage = $this->initForm('project', 'browse'); + $browsePage->dom->search($searchList = array("项目名称,包含,{$project['name']}")); + $browsePage->wait(2); + $browsePage->dom->projectNameLite->click(); + /* 进入项目概况页面 */ + $browsePage->dom->settings->click(); + $viewPage = $this->loadPage('project', 'view'); + $viewPage->wait(2); + + /* 断言检查字段信息是否正确 */ + if($viewPage->dom->projectNameLite->getText() != $project['name']) return $this->failed('名称错误'); + if($viewPage->dom->aclLite->getText() != $this->lang->project->shortAclList->open) return $this->failed('权限错误'); + return $this->success('编辑项目成功'); + } +} From 8d4ff440040e269fcf2e11af031ea317bcd0f4cd Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:45:14 +0800 Subject: [PATCH 6/9] + [task#146228,doing,1h,1h] Add test data and xpath of edit project in lite. --- module/project/test/ui/editprojectlite.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 module/project/test/ui/editprojectlite.php diff --git a/module/project/test/ui/editprojectlite.php b/module/project/test/ui/editprojectlite.php new file mode 100644 index 0000000000..815e5aa5ce --- /dev/null +++ b/module/project/test/ui/editprojectlite.php @@ -0,0 +1,20 @@ +#!/usr/bin/env php + Date: Wed, 2 Jul 2025 09:46:19 +0800 Subject: [PATCH 7/9] + [task#146228,doing,1h,1h] Add test data and xpath of edit project in lite. --- module/project/test/ui/editprojectlite.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/module/project/test/ui/editprojectlite.php b/module/project/test/ui/editprojectlite.php index 815e5aa5ce..1163d4aa6f 100644 --- a/module/project/test/ui/editprojectlite.php +++ b/module/project/test/ui/editprojectlite.php @@ -18,3 +18,25 @@ cid=23 - 最终测试状态 @SUCCESS - 编辑项目名称 - 测试结果 @编辑项目成功 + - 最终测试状态 @SUCCESS + +*/ +chdir(__DIR__); +include '../lib/editprojectlite.ui.class.php'; + +$project = zenData('project'); +$project->id->range('1-2'); +$project->project->range('0'); +$project->model->range('kanban'); +$project->type->range('project'); +$project->auth->range('extend'); +$project->path->range('`,1,`'); +$project->grade->range('1'); +$project->name->range('运营界面项目1, 运营界面项目2'); +$project->hasProduct->range('0'); +$project->status->range('wait'); +$project->begin->range('(-72w)-(-71w):1D')->type('timestamp')->format('YY/MM/DD'); +$project->end->range('(+72w)-(+73w):1D')->type('timestamp')->format('YY/MM/DD'); +$project->acl->range('open'); +$project->vision->range('lite'); +$project->gen(2); From 95834eb772062e7a37c3eb1a29bc0fc7110ddde4 Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 09:46:48 +0800 Subject: [PATCH 8/9] + [task#146228,doing,1h,1h] Add test data and xpath of edit project in lite. --- module/project/test/ui/editprojectlite.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/module/project/test/ui/editprojectlite.php b/module/project/test/ui/editprojectlite.php index 1163d4aa6f..59de16b2dd 100644 --- a/module/project/test/ui/editprojectlite.php +++ b/module/project/test/ui/editprojectlite.php @@ -40,3 +40,20 @@ $project->end->range('(+72w)-(+73w):1D')->type('timestamp')->format('YY/MM/DD'); $project->acl->range('open'); $project->vision->range('lite'); $project->gen(2); + +$tester = new editProjectLiteTester(); +$tester->login(); + +$project = array( + array('name' => '', 'end' => date('Y-m-d', strtotime('+30 days'))), + array('name' => '运营界面项目'.time(), 'begin' => date('Y-m-d'), 'end' => date('Y-m-d', strtotime('-1 day'))), + array('name' => '运营界面项目2', 'end' => date('Y-m-d', strtotime('+1 month'))), + array('name' => '运营界面项目a'.time(), 'end' => date('Y-m-d', strtotime('+1 month')), 'PM' => 'admin'), +); + +r($tester->checkInput($project['0'])) && p('message,status') && e('编辑项目表单页提示信息正确,SUCCESS'); // 编辑项目缺少项目名称 +r($tester->checkInput($project['1'])) && p('message,status') && e('编辑项目表单页提示信息正确,SUCCESS'); // 编辑项目计划完成时间小于计划开始时间 +r($tester->checkInput($project['2'])) && p('message,status') && e('编辑项目表单页提示信息正确,SUCCESS'); // 编辑项目名称为已有名称 +r($tester->checkInput($project['3'])) && p('message,status') && e('编辑项目成功,SUCCESS'); // 编辑项目名称 + +$tester->closeBrowser(); From eaac8c27aee7bd81e1841d7666e36fde9442db87 Mon Sep 17 00:00:00 2001 From: huairong Date: Wed, 2 Jul 2025 11:26:40 +0800 Subject: [PATCH 9/9] + [task#146228,doing,0.1h,1h] Modify function of edit project in lite. --- .../test/lib/editprojectlite.ui.class.php | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/module/project/test/lib/editprojectlite.ui.class.php b/module/project/test/lib/editprojectlite.ui.class.php index 896cbc664e..053c988046 100644 --- a/module/project/test/lib/editprojectlite.ui.class.php +++ b/module/project/test/lib/editprojectlite.ui.class.php @@ -39,23 +39,20 @@ class editProjectLiteTester extends tester $form = $this->loadPage('project', 'edit'); if($this->response('method') != 'view') { - if($form->dom->nameTip) + /* 检查项目名称不能为空 */ + if($form->dom->nameTip && $project['name'] == '') { - /* 检查项目名称不能为空 */ - if($project['name'] == '') - { - $nameTipText = $form->dom->nameTip->getText(); - $nameTip = sprintf($this->lang->error->notempty, $this->lang->project->name); - return ($nameTipText == $nameTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); - } - /* 检查项目名称唯一 */ - else - { - $existName = '运营界面项目2'; - $nameTipText = $form->dom->nameTip->getText(); - $nameTip = sprintf($this->lang->error->unique, $this->lang->project->name, $existName); - return ($nameTipText == $nameTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); - } + $nameTipText = $form->dom->nameTip->getText(); + $nameTip = sprintf($this->lang->error->notempty, $this->lang->project->name); + return ($nameTipText == $nameTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); + } + /* 检查项目名称唯一 */ + if($form->dom->nameTip && $project['name'] != '') + { + $existName = '运营界面项目2'; + $nameTipText = $form->dom->nameTip->getText(); + $nameTip = sprintf($this->lang->error->unique, $this->lang->project->name, $existName); + return ($nameTipText == $nameTip) ? $this->success('编辑项目表单页提示信息正确') : $this->failed('编辑项目表单页提示信息不正确'); } if($form->dom->endTip) {