znt/module/project/test/model/update.php

103 lines
5.3 KiB
PHP
Executable file

#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$project = zenData('project');
$project->id->range('1-5');
$project->project->range('0');
$project->name->prefix("项目")->range('1-5');
$project->code->prefix("project")->range('1-5');
$project->model->range("scrum,waterfall,kanban");
$project->auth->range("[]");
$project->path->range("[]");
$project->type->range("project");
$project->grade->range("1");
$project->days->range("1");
$project->status->range("wait");
$project->desc->range("[]");
$project->budget->range("100000,200000");
$project->budgetUnit->range("CNY");
$project->percent->range("0-0");
$project->gen(5);
$product = zenData('product')->gen(5);
/**
title=测试 projectModel::update();
timeout=0
cid=17873
- 正常更新项目的情况属性name @测试更新项目十
- 更新项目名称为空时属性name @~~
- 当计划完成为空时更新项目信息属性finish @~~
- 当项目的完成日期小于执行的完成日期时第end条的0属性 @『计划完成』应当大于『2022-07-06』。
- 当项目的开始日期大于执行的开始日期时属性begin @2022-08-07
- 无产品项目属性name @测试更新影子产品
- 正常更新项目的情况属性name @测试更新项目十
- 更新项目名称为空时属性name @~~
- 当计划完成为空时更新项目信息属性finish @~~
- 当项目的完成日期小于执行的完成日期时第end条的0属性 @『计划完成』应当大于『2022-07-06』。
- 当项目的开始日期大于执行的开始日期时属性begin @2022-08-07
- 无产品项目第name条的0属性 @『项目名称』已经有『测试更新影子产品』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。
*/
global $tester;
$project = new projectModelTest();
$_POST['uid'] = '0';
$data = new stdclass();
$data->parent = '0';
$data->name = '测试更新项目十';
$data->begin = '2022-07-06';
$data->end = '2022-10-26';
$data->acl = 'private';
$data->model = 'scrum';
$data->budget = '100';
$data->budgetUnit = 'CNY';
$data->hasProduct = 1;
$data->PM = 'admin';
$data->whitelist = 'dev10, dev12';
$data->storyType = 'story';
$data->workflowGroup = 0;
$normalProject = clone $data;
$emptyTitleProject = clone $data;
$emptyTitleProject->name = '';
$emptyBeginProject = clone $data;
$emptyBeginProject->begin = '0000-00-00';
$emptyEndProject = clone $data;
$emptyEndProject->end = '';
$beginGtExecutionBegin = clone $data;
$beginGtExecutionBegin->begin = '2022-08-07';
$noProductProject = clone $data;
$noProductProject->hasProduct = 0;
$noProductProject->name = '测试更新影子产品';
$noProductProject->status = 'closed';
$oldProject = $tester->loadModel('project')->getById(1);
r($project->updateTest($normalProject, $oldProject)) && p('name') && e('测试更新项目十'); // 正常更新项目的情况
r($project->updateTest($emptyTitleProject, $oldProject)) && p('name') && e('~~'); // 更新项目名称为空时
r($project->updateTest($emptyBeginProject, $oldProject)) && p('finish') && e('~~'); // 当计划完成为空时更新项目信息
r($project->updateTest($emptyEndProject, $oldProject)) && p('end:0') && e('『计划完成』应当大于『2022-07-06』。'); // 当项目的完成日期小于执行的完成日期时
r($project->updateTest($beginGtExecutionBegin, $oldProject)) && p('begin') && e('2022-08-07'); // 当项目的开始日期大于执行的开始日期时
r($project->updateTest($noProductProject, $oldProject)) && p('name') && e('测试更新影子产品'); // 无产品项目
$oldProject = $tester->loadModel('project')->getById(2);
r($project->updateTest($normalProject, $oldProject)) && p('name') && e('测试更新项目十'); // 正常更新项目的情况
r($project->updateTest($emptyTitleProject, $oldProject)) && p('name') && e('~~'); // 更新项目名称为空时
r($project->updateTest($emptyBeginProject, $oldProject)) && p('finish') && e('~~'); // 当计划完成为空时更新项目信息
r($project->updateTest($emptyEndProject, $oldProject)) && p('end:0') && e('『计划完成』应当大于『2022-07-06』。'); // 当项目的完成日期小于执行的完成日期时
r($project->updateTest($beginGtExecutionBegin, $oldProject)) && p('begin') && e('2022-08-07'); // 当项目的开始日期大于执行的开始日期时
r($project->updateTest($noProductProject, $oldProject)) && p('name:0') && e('『项目名称』已经有『测试更新影子产品』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。'); // 无产品项目