* Refactor holidayModel::create, and modify its unit test.

This commit is contained in:
liumengyi
2023-12-04 09:19:47 +08:00
parent fdb02113a1
commit 014e79fff7
3 changed files with 27 additions and 20 deletions
+3 -3
View File
@@ -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);
+10 -8
View File
@@ -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())
{
+14 -9
View File
@@ -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』。'); // 测试传入小于开始日期的结束日期