mirror of
https://github.com/Karaka-Management/oms-HumanResourceTimeRecording.git
synced 2026-01-11 03:48:40 +00:00
Test fixes
This commit is contained in:
parent
1e0a52edad
commit
4822b1f20c
|
|
@ -72,11 +72,11 @@ final class ApiClockingTypeController extends Controller
|
|||
*/
|
||||
private function createClockingTypeFromRequest(RequestAbstract $request) : ClockingType
|
||||
{
|
||||
$clockingType = new ClockingType($request->getDataString('name') ?? '');
|
||||
$clockingType->isWork = $request->getDataBool('is_work') ?? false;
|
||||
$clockingType = new ClockingType($request->getDataString('name') ?? '');
|
||||
$clockingType->isWork = $request->getDataBool('is_work') ?? false;
|
||||
$clockingType->customFutureTimeAllowed = $request->getDataBool('custom_future_time_allowed') ?? false;
|
||||
$clockingType->customPastTimeAllowed = $request->getDataBool('custom_past_time_allowed') ?? false;
|
||||
$clockingType->correctionAllowed = $request->getDataBool('correction_allowed') ?? false;
|
||||
$clockingType->customPastTimeAllowed = $request->getDataBool('custom_past_time_allowed') ?? false;
|
||||
$clockingType->correctionAllowed = $request->getDataBool('correction_allowed') ?? false;
|
||||
$clockingType->setL11n(
|
||||
$request->getDataString('title') ?? '',
|
||||
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
|
||||
|
|
@ -207,7 +207,7 @@ final class ApiClockingTypeController extends Controller
|
|||
* Method to update ClockingType from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ClockingType $new Model to modify
|
||||
* @param ClockingType $new Model to modify
|
||||
*
|
||||
* @return ClockingType
|
||||
*
|
||||
|
|
|
|||
|
|
@ -14,11 +14,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\HumanResourceTimeRecording\Controller;
|
||||
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\HumanResourceManagement\Models\EmployeeMapper;
|
||||
use Modules\HumanResourceTimeRecording\Models\ClockingStatus;
|
||||
use Modules\HumanResourceTimeRecording\Models\ClockingType;
|
||||
use Modules\HumanResourceTimeRecording\Models\NullClockingType;
|
||||
use Modules\HumanResourceTimeRecording\Models\PermissionCategory;
|
||||
use Modules\HumanResourceTimeRecording\Models\Session;
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
# Structure
|
||||
|
||||
## ER
|
||||
|
||||

|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -14,7 +14,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\HumanResourceTimeRecording\Models;
|
||||
|
||||
use Modules\Media\Models\Collection;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* PHP Version 8.2
|
||||
*
|
||||
* @package Modules\HumanResourceTimerecording\Models
|
||||
* @package Modules\HumanResourceTimeRecording\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\HumanResourceTimerecording\Models;
|
||||
namespace Modules\HumanResourceTimeRecording\Models;
|
||||
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
|
|
@ -20,7 +20,7 @@ use phpOMS\Localization\BaseStringL11n;
|
|||
/**
|
||||
* Clocking type l11n mapper class.
|
||||
*
|
||||
* @package Modules\HumanResourceTimerecording\Models
|
||||
* @package Modules\HumanResourceTimeRecording\Models
|
||||
* @license OMS License 2.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
|
|
|
|||
|
|
@ -36,12 +36,12 @@ final class ClockingTypeMapper extends DataMapperFactory
|
|||
* @since 1.0.0
|
||||
*/
|
||||
public const COLUMNS = [
|
||||
'hr_timerecording_type_id' => ['name' => 'hr_timerecording_type_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'hr_timerecording_type_name' => ['name' => 'hr_timerecording_type_name', 'type' => 'string', 'internal' => 'name'],
|
||||
'hr_timerecording_type_custom_future' => ['name' => 'hr_timerecording_type_custom_future', 'type' => 'bool', 'internal' => 'customFutureTimeAllowed'],
|
||||
'hr_timerecording_type_custom_past' => ['name' => 'hr_timerecording_type_custom_past', 'type' => 'bool', 'internal' => 'customPastTimeAllowed'],
|
||||
'hr_timerecording_type_correction' => ['name' => 'hr_timerecording_type_correction', 'type' => 'bool', 'internal' => 'correctionAllowed'],
|
||||
'hr_timerecording_type_work' => ['name' => 'hr_timerecording_type_work', 'type' => 'bool', 'internal' => 'isWork'],
|
||||
'hr_timerecording_type_id' => ['name' => 'hr_timerecording_type_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'hr_timerecording_type_name' => ['name' => 'hr_timerecording_type_name', 'type' => 'string', 'internal' => 'name'],
|
||||
'hr_timerecording_type_custom_future' => ['name' => 'hr_timerecording_type_custom_future', 'type' => 'bool', 'internal' => 'customFutureTimeAllowed'],
|
||||
'hr_timerecording_type_custom_past' => ['name' => 'hr_timerecording_type_custom_past', 'type' => 'bool', 'internal' => 'customPastTimeAllowed'],
|
||||
'hr_timerecording_type_correction' => ['name' => 'hr_timerecording_type_correction', 'type' => 'bool', 'internal' => 'correctionAllowed'],
|
||||
'hr_timerecording_type_work' => ['name' => 'hr_timerecording_type_work', 'type' => 'bool', 'internal' => 'isWork'],
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class Session implements \JsonSerializable
|
|||
/**
|
||||
* Session type.
|
||||
*
|
||||
* @var int
|
||||
* @var ClockingType
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public ClockingType $type;
|
||||
|
|
@ -154,7 +154,7 @@ class Session implements \JsonSerializable
|
|||
&& ($e->status === ClockingStatus::PAUSE || $e->status === ClockingStatus::END)
|
||||
) {
|
||||
$busyTime += $e->datetime->getTimestamp() - $lastStart->getTimestamp();
|
||||
$state = 0;
|
||||
$state = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
},
|
||||
"creator": {
|
||||
"name": "Jingga",
|
||||
"website": "jingga.app"
|
||||
"website": "https://jingga.app"
|
||||
},
|
||||
"directory": "HumanResourceTimeRecording",
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ final class SessionMapperTest extends \PHPUnit\Framework\TestCase
|
|||
{
|
||||
$session = new Session(new NullAccount(1));
|
||||
|
||||
$dt = new \DateTime(\date('Y-m-d', \strtotime('now')) . ' 7:55:34');
|
||||
$element = new SessionElement($session, $dt);
|
||||
$element->status = ClockingStatus::START;
|
||||
$dt = new \DateTime(\date('Y-m-d', \strtotime('now')) . ' 7:55:34');
|
||||
$element = new SessionElement($session, $dt);
|
||||
$element->status = ClockingStatus::START;
|
||||
$session->sessionElements[] = $element;
|
||||
|
||||
$id = SessionMapper::create()->execute($session);
|
||||
|
|
|
|||
|
|
@ -51,16 +51,16 @@ final class SessionTest extends \PHPUnit\Framework\TestCase
|
|||
#[\PHPUnit\Framework\Attributes\Group('module')]
|
||||
public function testStatusInputOutput() : void
|
||||
{
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05'));
|
||||
$element->status = ClockingStatus::START;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05'));
|
||||
$element->status = ClockingStatus::START;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-06'));
|
||||
$element->status = ClockingStatus::PAUSE;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-06'));
|
||||
$element->status = ClockingStatus::PAUSE;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-07'));
|
||||
$element->status = ClockingStatus::CONTINUE;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-07'));
|
||||
$element->status = ClockingStatus::CONTINUE;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$this->session->recalculate();
|
||||
|
|
@ -71,38 +71,38 @@ final class SessionTest extends \PHPUnit\Framework\TestCase
|
|||
#[\PHPUnit\Framework\Attributes\Group('module')]
|
||||
public function testBusyBreakInputOutput() : void
|
||||
{
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 02:00:00'));
|
||||
$element->status = ClockingStatus::START;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 02:00:00'));
|
||||
$element->status = ClockingStatus::START;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
// this is ignored because the session is already started
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 03:00:00'));
|
||||
$element->status = ClockingStatus::START;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 03:00:00'));
|
||||
$element->status = ClockingStatus::START;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 04:00:00'));
|
||||
$element->status = ClockingStatus::PAUSE;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 04:00:00'));
|
||||
$element->status = ClockingStatus::PAUSE;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 04:30:00'));
|
||||
$element->status = ClockingStatus::CONTINUE;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 04:30:00'));
|
||||
$element->status = ClockingStatus::CONTINUE;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 07:00:00'));
|
||||
$element->status = ClockingStatus::PAUSE;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 07:00:00'));
|
||||
$element->status = ClockingStatus::PAUSE;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 08:30:00'));
|
||||
$element->status = ClockingStatus::CONTINUE;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 08:30:00'));
|
||||
$element->status = ClockingStatus::CONTINUE;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 11:00:00'));
|
||||
$element->status = ClockingStatus::END;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 11:00:00'));
|
||||
$element->status = ClockingStatus::END;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
// this is ignored because the session is already stopped
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 11:30:00'));
|
||||
$element->status = ClockingStatus::END;
|
||||
$element = new SessionElement(null, new \DateTime('2021-10-05 11:30:00'));
|
||||
$element->status = ClockingStatus::END;
|
||||
$this->session->sessionElements[] = $element;
|
||||
|
||||
$this->session->recalculate();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user