Files
EasySoft-ZenTaoPMS/module/project/test/model/update.php
T

75 lines
3.4 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/project.class.php';
su('admin');
/**
title=测试 projectModel::update();
cid=1
pid=1
正常更新项目的情况 >> 测试更新项目十
未关联产品的项目 >> 最少关联一个产品
更新项目名称为空时 >> 『项目名称』不能为空。
当计划完成为空时更新项目信息 >> 『计划开始』不能为空。
当项目的完成日期小于执行的完成日期时 >> 项目的完成日期应大于等于执行的最大完成日期:2022-10-26
当项目的开始日期大于执行的开始日期时 >> 项目的开始日期应小于等于执行的最小开始日期:2022-07-07
*/
global $tester;
$tester->app->loadConfig('execution');
$project = new Project();
$data = new stdclass();
$data->parent = '0';
$data->name = '测试更新项目十';
$data->begin = '2022-07-06';
$data->end = '2022-10-26';
$data->acl = 'private';
$data->budget = '100';
$data->budgetUnit = 'CNY';
$data->hasProduct = 1;
$data->PM = 'admin';
$data->whitelist = 'dev10, dev12';
$oldProject = new stdclass();
$oldProject->id = 1;
$oldProject->stageBy = 'project';
$oldProject->whitelist = 'dev1, dev2';
$uid = '144312345125125';
$normalProject = json_decode(json_encode($data));
$noProductProject = json_decode(json_encode($data));
$noProductProject->products = array();
$emptyTitleProject = json_decode(json_encode($data));
$emptyTitleProject->name = '';
$emptyBeginProject = json_decode(json_encode($data));
$emptyBeginProject->begin = '';
$emptyEndProject = json_decode(json_encode($data));
$emptyEndProject->end = '';
$beginGtExecutionBegin = json_decode(json_encode($data));
$beginGtExecutionBegin->begin = '2022-08-07';
$withoutProductProject = json_decode(json_encode($data));
$withoutProductProject->hasProduct = '';
$withoutProductProject->name = '测试更新影子产品';
$withoutProductProject->status = 'closed';
r($project->update($normalProject, $oldProject, $uid)) && p('name') && e('测试更新项目十'); // 正常更新项目的情况
r($project->update($noProductProject, $oldProject, $uid)) && p('message:0') && e('最少关联一个产品'); // 未关联产品的项目
r($project->update($emptyTitleProject, $oldProject, $uid)) && p('message[name]:0') && e('『项目名称』不能为空。'); // 更新项目名称为空时
r($project->update($emptyBeginProject, $oldProject, $uid)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 当计划完成为空时更新项目信息
r($project->update($emptyEndProject, $oldProject, $uid)) && p('message:end') && e('项目的完成日期应大于等于执行的最大完成日期:2022-10-26'); // 当项目的完成日期小于执行的完成日期时
r($project->update($beginGtExecutionBegin, $oldProject, $uid)) && p('message:begin') && e('项目的开始日期应小于等于执行的最小开始日期:2022-07-07'); // 当项目的开始日期大于执行的开始日期时
r($project->update($withoutProductProject, $oldProject, $uid)) && p('name') && e('测试更新影子产品'); // 无产品项目