Files
EasySoft-ZenTaoPMS/module/todo/test/model/create.php
T

106 lines
3.2 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
declare(strict_types=1);
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 2) . '/todo.class.php';
su('admin');
function initData()
{
$todo = zdTable('todo');
$todo->id->range('1');
$todo->name->prefix("待办")->range('1');
$todo->date->range('`2023-04-23`');
$todo->type->range('custom');
$todo->gen(1, '', true);
}
/**
title=测试 todoModel->create();
cid=1
pid=1
*/
$accountList = array('admin', 'dev1', 'test1');
$b_noname = new stdclass();
$b_noname->name = '';
$b_noname->date = 'today';
$b_noname->type = 'custom';
$todo1 = new stdclass();
$todo1->name = '时间待定的月周期待办';
$todo1->type = 'custom';
$todo1->date = '+3 days';
$todo1->config = array('day' => '', 'specify' => array('month' => 0, 'day' => 1), 'month' => array(1,3,5), 'type' => 'month', 'beforeDays' => 2, 'end' => '2025-01-01');
$todo2 = new stdclass();
$todo2->name = 'bug待办';
$todo2->type = 'bug';
$todo2->date = 'today';
$todo2->bug = '313';
$todo2->status = 'doing';
$todo2->uid = '313';
$todo3 = new stdclass();
$todo3->name = 'task待办';
$todo3->type = 'task';
$todo3->date = 'today';
$todo3->task = '1';
$todo3->status = 'done';
$todo3->uid = '1';
$todo4 = new stdclass();
$todo4->name = 'story待办';
$todo4->type = 'story';
$todo4->date = 'today';
$todo4->story = '1';
$todo4->status = 'closed';
$todo4->uid = '1';
$todo = new todoTest();
global $tester;
$tester->loadModel('todo');
initData();
$todoWithoutName = new stdclass;
$todoWithoutName->name = '';
$todoWithoutName->date = date('Y-m-d');
$todoWithoutName->type = 'custom';
$todoInvalidDate = new stdclass;
$todoInvalidDate->name = 'todoInvalidDate';
$todoInvalidDate->date = 'today';
$todoInvalidDate->type = 'custom';
$todoValid = new stdclass;
$todoValid->name = 'todoValid';
$todoValid->date = date('Y-m-d');
$todoValid->type = 'custom';
$todoValid1 = new stdclass;
$todoValid1->name = 'todoValid1';
$todoValid1->date = date('Y-m-d');
$todoValid1->type = 'custom';
/**
* 1. 如果r函数返回的是一个复杂的结构,比如混合内容的数组或者嵌套的数组,p函数是无法获取返回值中的某些特定值的,需要自己编写助手函数,比如在../todo.class.php中编写。
* 2. 如果ztf执行没有生成注释,需要检查php脚本是否执行报错,建议先使用php执行编写的测试用例再用ztf执行。
*/
r($tester->todo->create($todoValid)) && p() && e('2');
r($tester->todo->create($todoWithoutName)) && p() && e('0');
r($tester->todo->create($todoInvalidDate)) && p() && e('0');
r($tester->todo->create($todoValid1)) && p() && e('3');
exit(0);
r($todo->createTest($accountList[0], $b_noname)) && p() && e('『待办名称』不能为空。');
r($todo->createTest($accountList[1], $todo1)) && p('name,type,status') && e('时间待定的月周期待办,custom,wait');
r($todo->createTest($accountList[2], $todo2)) && p('name,type,status') && e('测试单转Bug13,bug,doing');
r($todo->createTest($accountList[0], $todo3)) && p('name,type,status') && e('开发任务11,task,done');
r($todo->createTest($accountList[0], $todo4)) && p('name,type,status') && e('用户需求1,story,closed');