* Refactor holidayModel::create, and modify its unit test.
This commit is contained in:
@@ -64,7 +64,7 @@ class holidayModel extends model
|
||||
* 创建一个节假日。
|
||||
* Create a holiday.
|
||||
*
|
||||
* @param object $holiday
|
||||
* @param object $holiday
|
||||
* @access public
|
||||
* @return int|bool
|
||||
*/
|
||||
@@ -79,8 +79,8 @@ class holidayModel extends model
|
||||
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$beginDate = $this->post->begin;
|
||||
$endDate = $this->post->end;
|
||||
$beginDate = $holiday->begin;
|
||||
$endDate = $holiday->end;
|
||||
|
||||
/* Update project. */
|
||||
$this->updateProgramPlanDuration($beginDate, $endDate);
|
||||
|
||||
@@ -61,13 +61,14 @@ class holidayTest
|
||||
}
|
||||
|
||||
/**
|
||||
* Test create method.
|
||||
* 测试创建一个家假日。
|
||||
* Test create a holiday.
|
||||
*
|
||||
* @param array $param
|
||||
* @param array $param
|
||||
* @access public
|
||||
* @return object
|
||||
* @return object|bool|array
|
||||
*/
|
||||
public function createTest($param = array())
|
||||
public function createTest(array $param = array()): object|bool|array
|
||||
{
|
||||
$defaultParam['type'] = 'holiday';
|
||||
$defaultParam['begin'] = '2022-01-01';
|
||||
@@ -75,11 +76,12 @@ class holidayTest
|
||||
$defaultParam['name'] = '测试创建holiday';
|
||||
$defaultParam['desc'] = '默认的holiday';
|
||||
|
||||
foreach($defaultParam as $field => $defaultValue) $_POST[$field] = $defaultValue;
|
||||
$holiday = new stdclass();
|
||||
|
||||
foreach($param as $key => $value) $_POST[$key] = $value;
|
||||
$lastInsertID = $this->objectModel->create();
|
||||
unset($_POST);
|
||||
foreach($defaultParam as $field => $defaultValue) $holiday->{$field} = $defaultValue;
|
||||
foreach($param as $key => $value) $holiday->{$key} = $value;
|
||||
|
||||
$lastInsertID = $this->objectModel->create($holiday);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/holiday.class.php';
|
||||
|
||||
zdTable('holiday')->gen(0);
|
||||
zdTable('project')->gen(10);
|
||||
zdTable('user')->gen(1);
|
||||
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
@@ -10,8 +16,8 @@ title=测试 holidayModel->create();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试创建holiday >> 101,测试创建holiday,holiday
|
||||
测试创建working >> 102,测试创建working,working
|
||||
测试创建holiday >> 1,测试创建holiday,holiday
|
||||
测试创建working >> 2,测试创建working,working
|
||||
测试不传入必填项开始日期 >> 『开始日期』不能为空。
|
||||
测试不传入必填项结束日期 >> 『结束日期』不能为空。
|
||||
测试不传入必填项名称 >> 『名称』不能为空。
|
||||
@@ -28,10 +34,9 @@ $createNoEnd = array('name' => '不传入结束日期', 'type' => 'holiday'
|
||||
$createNoName = array('name' => '', 'type' => 'holiday');
|
||||
$createErrorDate = array('begin' => '2022-01-10', 'end' => '2022-01-01');
|
||||
|
||||
r($holiday->createTest($createHoliday)) && p('id,name,type') && e('101,测试创建holiday,holiday'); //测试创建holiday
|
||||
r($holiday->createTest($createWorking)) && p('id,name,type') && e('102,测试创建working,working'); //测试创建working
|
||||
r($holiday->createTest($createNoBegin)) && p('begin:0') && e('『开始日期』不能为空。'); //测试不传入必填项开始日期
|
||||
r($holiday->createTest($createNoEnd)) && p('end:0') && e('『结束日期』不能为空。'); //测试不传入必填项结束日期
|
||||
r($holiday->createTest($createNoName)) && p('name:0') && e('『名称』不能为空。'); //测试不传入必填项名称
|
||||
r($holiday->createTest($createErrorDate)) && p('end:0') && e('『结束日期』应当不小于『2022-01-10』。'); //测试传入小于开始日期的结束日期
|
||||
|
||||
r($holiday->createTest($createHoliday)) && p('id,name,type') && e('1,测试创建holiday,holiday'); // 测试创建holiday
|
||||
r($holiday->createTest($createWorking)) && p('id,name,type') && e('2,测试创建working,working'); // 测试创建working
|
||||
r($holiday->createTest($createNoBegin)) && p('begin:0') && e('『开始日期』不能为空。'); // 测试不传入必填项开始日期
|
||||
r($holiday->createTest($createNoEnd)) && p('end:0') && e('『结束日期』不能为空。'); // 测试不传入必填项结束日期
|
||||
r($holiday->createTest($createNoName)) && p('name:0') && e('『名称』不能为空。'); // 测试不传入必填项名称
|
||||
r($holiday->createTest($createErrorDate)) && p('end:0') && e('『结束日期』应当不小于『2022-01-10』。'); // 测试传入小于开始日期的结束日期
|
||||
|
||||
Reference in New Issue
Block a user