mirror of
https://github.com/Karaka-Management/oms-HumanResourceManagement.git
synced 2026-01-31 21:28:40 +00:00
new datamapper mostly implemented
This commit is contained in:
parent
c1e0f84592
commit
f1e7cac376
|
|
@ -23,6 +23,9 @@ use Modules\HumanResourceManagement\Models\EmployeeHistoryMapper;
|
|||
use Modules\HumanResourceManagement\Models\EmployeeMapper;
|
||||
use Modules\HumanResourceManagement\Models\EmployeeWorkHistory;
|
||||
use Modules\HumanResourceManagement\Models\EmployeeWorkHistoryMapper;
|
||||
use Modules\Organization\Models\NullDepartment;
|
||||
use Modules\Organization\Models\NullPosition;
|
||||
use Modules\Organization\Models\NullUnit;
|
||||
use Modules\Profile\Models\Profile;
|
||||
use Modules\Profile\Models\ProfileMapper;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
|
|
@ -128,7 +131,7 @@ final class ApiController extends Controller
|
|||
|
||||
foreach ($accounts as $account) {
|
||||
/** @var Profile $profile Profile */
|
||||
$profile = ProfileMapper::getFor((int) $account, 'account');
|
||||
$profile = ProfileMapper::get()->where('account', (int) $account)->execute();
|
||||
$employees[] = new Employee($profile);
|
||||
}
|
||||
|
||||
|
|
@ -269,9 +272,9 @@ final class ApiController extends Controller
|
|||
private function createEmployeeHistoryFromRequest(RequestAbstract $request) : EmployeeHistory
|
||||
{
|
||||
$history = new EmployeeHistory((int) ($request->getData('employee') ?? 0));
|
||||
$history->unit = (int) ($request->getData('unit') ?? 0);
|
||||
$history->department = (int) ($request->getData('department') ?? 0);
|
||||
$history->position = (int) ($request->getData('position') ?? 0);
|
||||
$history->unit = new NullUnit((int) ($request->getData('unit') ?? 0));
|
||||
$history->department = new NullDepartment((int) ($request->getData('department') ?? 0));
|
||||
$history->position = new NullPosition((int) ($request->getData('position') ?? 0));
|
||||
$history->start = new \DateTime($request->getData('start') ?? 'now');
|
||||
|
||||
if (!empty($request->getData('end'))) {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,13 @@ final class BackendController extends Controller
|
|||
$view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/staff-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response));
|
||||
|
||||
$view->setData('employees', EmployeeMapper::getAll(depth: 4));
|
||||
$view->setData('employees', EmployeeMapper::getAll()
|
||||
->with('profile')
|
||||
->with('profile/account')
|
||||
->with('companyHistory')
|
||||
->with('companyHistory/unit')
|
||||
->execute()
|
||||
);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -97,7 +103,7 @@ final class BackendController extends Controller
|
|||
$view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/staff-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response));
|
||||
|
||||
$employee = EmployeeMapper::get((int) $request->getData('id'));
|
||||
$employee = EmployeeMapper::get()->where('id', (int) $request->getData('id'))->execute();
|
||||
|
||||
$view->addData('employee', $employee);
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ declare(strict_types=1);
|
|||
namespace Modules\HumanResourceManagement\Models;
|
||||
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* EmployeHistory mapper class.
|
||||
|
|
@ -25,7 +25,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class EmployeeEducationHistoryMapper extends DataMapperAbstract
|
||||
final class EmployeeEducationHistoryMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -33,7 +33,7 @@ final class EmployeeEducationHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'hr_staff_education_history_id' => ['name' => 'hr_staff_education_history_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'hr_staff_education_history_staff' => ['name' => 'hr_staff_education_history_staff', 'type' => 'int', 'internal' => 'employee'],
|
||||
'hr_staff_education_history_address' => ['name' => 'hr_staff_education_history_address', 'type' => 'Serializable', 'internal' => 'address'],
|
||||
|
|
@ -50,7 +50,7 @@ final class EmployeeEducationHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $belongsTo = [
|
||||
public const BELONGS_TO = [
|
||||
'employee' => [
|
||||
'mapper' => EmployeeMapper::class,
|
||||
'external' => 'hr_staff_education_history_staff',
|
||||
|
|
@ -63,7 +63,7 @@ final class EmployeeEducationHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $hasMany = [
|
||||
public const HAS_MANY = [
|
||||
'files' => [
|
||||
'mapper' => MediaMapper::class, /* mapper of the related object */
|
||||
'table' => 'hr_staff_work_history_media', /* table of the related object, null if no relation table is used (many->1) */
|
||||
|
|
@ -78,7 +78,7 @@ final class EmployeeEducationHistoryMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'hr_staff_education_history_id';
|
||||
public const PRIMARYFIELD ='hr_staff_education_history_id';
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -86,5 +86,5 @@ final class EmployeeEducationHistoryMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'hr_staff_education_history';
|
||||
public const TABLE = 'hr_staff_education_history';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ namespace Modules\HumanResourceManagement\Models;
|
|||
|
||||
use Modules\Media\Models\Media;
|
||||
use Modules\Organization\Models\Department;
|
||||
use Modules\Organization\Models\NullDepartment;
|
||||
use Modules\Organization\Models\NullPosition;
|
||||
use Modules\Organization\Models\NullUnit;
|
||||
use Modules\Organization\Models\Position;
|
||||
use Modules\Organization\Models\Unit;
|
||||
use phpOMS\Contract\ArrayableInterface;
|
||||
|
|
@ -49,26 +52,26 @@ class EmployeeHistory implements \JsonSerializable, ArrayableInterface
|
|||
/**
|
||||
* Unit
|
||||
*
|
||||
* @var null|int|Unit
|
||||
* @var Unit
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public $unit = null;
|
||||
public Unit $unit;
|
||||
|
||||
/**
|
||||
* Department
|
||||
*
|
||||
* @var null|int|Department
|
||||
* @var Department
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public $department = null;
|
||||
public Department $department;
|
||||
|
||||
/**
|
||||
* Position
|
||||
*
|
||||
* @var null|int|Position
|
||||
* @var Position
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public $position = null;
|
||||
public Position $position;
|
||||
|
||||
/**
|
||||
* Files.
|
||||
|
|
@ -105,6 +108,9 @@ class EmployeeHistory implements \JsonSerializable, ArrayableInterface
|
|||
{
|
||||
$this->employee = $employee;
|
||||
$this->start = new \DateTime('now');
|
||||
$this->unit = new NullUnit();
|
||||
$this->department = new NullDepartment();
|
||||
$this->position = new NullPosition();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ use Modules\Media\Models\MediaMapper;
|
|||
use Modules\Organization\Models\DepartmentMapper;
|
||||
use Modules\Organization\Models\PositionMapper;
|
||||
use Modules\Organization\Models\UnitMapper;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* EmployeHistory mapper class.
|
||||
|
|
@ -28,7 +28,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class EmployeeHistoryMapper extends DataMapperAbstract
|
||||
final class EmployeeHistoryMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -36,7 +36,7 @@ final class EmployeeHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'hr_staff_history_id' => ['name' => 'hr_staff_history_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'hr_staff_history_staff' => ['name' => 'hr_staff_history_staff', 'type' => 'int', 'internal' => 'employee'],
|
||||
'hr_staff_history_unit' => ['name' => 'hr_staff_history_unit', 'type' => 'int', 'internal' => 'unit'],
|
||||
|
|
@ -52,7 +52,7 @@ final class EmployeeHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $belongsTo = [
|
||||
public const BELONGS_TO = [
|
||||
'unit' => [
|
||||
'mapper' => UnitMapper::class,
|
||||
'external' => 'hr_staff_history_unit',
|
||||
|
|
@ -77,7 +77,7 @@ final class EmployeeHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $hasMany = [
|
||||
public const HAS_MANY = [
|
||||
'files' => [
|
||||
'mapper' => MediaMapper::class, /* mapper of the related object */
|
||||
'table' => 'hr_staff_work_history_media', /* table of the related object, null if no relation table is used (many->1) */
|
||||
|
|
@ -92,7 +92,7 @@ final class EmployeeHistoryMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'hr_staff_history_id';
|
||||
public const PRIMARYFIELD ='hr_staff_history_id';
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -100,5 +100,5 @@ final class EmployeeHistoryMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'hr_staff_history';
|
||||
public const TABLE = 'hr_staff_history';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,11 +14,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\HumanResourceManagement\Models;
|
||||
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use Modules\Profile\Models\ProfileMapper;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\DataStorage\Database\Mapper\ReadMapper;
|
||||
|
||||
/**
|
||||
* Employe mapper class.
|
||||
|
|
@ -28,7 +27,7 @@ use phpOMS\DataStorage\Database\Query\Builder;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class EmployeeMapper extends DataMapperAbstract
|
||||
final class EmployeeMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -36,7 +35,7 @@ final class EmployeeMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'hr_staff_id' => ['name' => 'hr_staff_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'hr_staff_profile' => ['name' => 'hr_staff_profile', 'type' => 'int', 'internal' => 'profile'],
|
||||
'hr_staff_smiPHash' => ['name' => 'hr_staff_smiPHash', 'type' => 'string', 'internal' => 'semiPrivateHash'],
|
||||
|
|
@ -49,7 +48,7 @@ final class EmployeeMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $belongsTo = [
|
||||
public const BELONGS_TO = [
|
||||
'profile' => [
|
||||
'mapper' => ProfileMapper::class,
|
||||
'external' => 'hr_staff_profile',
|
||||
|
|
@ -62,7 +61,7 @@ final class EmployeeMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $ownsOne = [
|
||||
public const OWNS_ONE = [
|
||||
'image' => [
|
||||
'mapper' => MediaMapper::class,
|
||||
'external' => 'hr_staff_image',
|
||||
|
|
@ -75,7 +74,7 @@ final class EmployeeMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $hasMany = [
|
||||
public const HAS_MANY = [
|
||||
'files' => [
|
||||
'mapper' => MediaMapper::class, /* mapper of the related object */
|
||||
'table' => 'hr_staff_media', /* table of the related object, null if no relation table is used (many->1) */
|
||||
|
|
@ -108,7 +107,7 @@ final class EmployeeMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'hr_staff';
|
||||
public const TABLE = 'hr_staff';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
|
|
@ -116,31 +115,22 @@ final class EmployeeMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'hr_staff_id';
|
||||
public const PRIMARYFIELD ='hr_staff_id';
|
||||
|
||||
/**
|
||||
* Get the employee from an account
|
||||
*
|
||||
* @param int $account Account to get the employee for
|
||||
*
|
||||
* @return Employee
|
||||
* @return ReadMapper
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function getFromAccount(int $account) : Employee
|
||||
public static function getFromAccount(int $account) : ReadMapper
|
||||
{
|
||||
$depth = 3;
|
||||
$query = new Builder(self::$db);
|
||||
$query = self::getQuery($query)
|
||||
->innerJoin(ProfileMapper::getTable())
|
||||
->on(self::$table . '_d' . $depth . '.hr_staff_profile', '=', ProfileMapper::getTable() . '.' . ProfileMapper::getPrimaryField())
|
||||
->innerJoin(AccountMapper::getTable())
|
||||
->on(ProfileMapper::getTable() . '.profile_account_account', '=', AccountMapper::getTable() . '.' . AccountMapper::getPrimaryField())
|
||||
->where(AccountMapper::getTable() . '.' . AccountMapper::getPrimaryField(), '=', $account)
|
||||
->limit(1);
|
||||
|
||||
$employee = self::getAllByQuery($query);
|
||||
|
||||
return empty($employee) ? new NullEmployee() : \end($employee);
|
||||
return self::get()
|
||||
->with('profile')
|
||||
->with('profile/account')
|
||||
->where('profile/account', $account);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ declare(strict_types=1);
|
|||
namespace Modules\HumanResourceManagement\Models;
|
||||
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
/**
|
||||
* EmployeHistory mapper class.
|
||||
|
|
@ -25,7 +25,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract;
|
|||
* @link https://orange-management.org
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class EmployeeWorkHistoryMapper extends DataMapperAbstract
|
||||
final class EmployeeWorkHistoryMapper extends DataMapperFactory
|
||||
{
|
||||
/**
|
||||
* Columns.
|
||||
|
|
@ -33,7 +33,7 @@ final class EmployeeWorkHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{name:string, type:string, internal:string, autocomplete?:bool, readonly?:bool, writeonly?:bool, annotations?:array}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $columns = [
|
||||
public const COLUMNS = [
|
||||
'hr_staff_work_history_id' => ['name' => 'hr_staff_work_history_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'hr_staff_work_history_staff' => ['name' => 'hr_staff_work_history_staff', 'type' => 'int', 'internal' => 'employee'],
|
||||
'hr_staff_work_history_address' => ['name' => 'hr_staff_work_history_address', 'type' => 'Serializable', 'internal' => 'address'],
|
||||
|
|
@ -48,7 +48,7 @@ final class EmployeeWorkHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, external:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $belongsTo = [
|
||||
public const BELONGS_TO = [
|
||||
'employee' => [
|
||||
'mapper' => EmployeeMapper::class,
|
||||
'external' => 'hr_staff_work_history_staff',
|
||||
|
|
@ -61,7 +61,7 @@ final class EmployeeWorkHistoryMapper extends DataMapperAbstract
|
|||
* @var array<string, array{mapper:string, table:string, self?:?string, external?:?string, column?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $hasMany = [
|
||||
public const HAS_MANY = [
|
||||
'files' => [
|
||||
'mapper' => MediaMapper::class, /* mapper of the related object */
|
||||
'table' => 'hr_staff_work_history_media', /* table of the related object, null if no relation table is used (many->1) */
|
||||
|
|
@ -76,7 +76,7 @@ final class EmployeeWorkHistoryMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $primaryField = 'hr_staff_work_history_id';
|
||||
public const PRIMARYFIELD ='hr_staff_work_history_id';
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
|
|
@ -84,5 +84,5 @@ final class EmployeeWorkHistoryMapper extends DataMapperAbstract
|
|||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static string $table = 'hr_staff_work_history';
|
||||
public const TABLE = 'hr_staff_work_history';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ require_once __DIR__ . '/../vendor/autoload.php';
|
|||
require_once __DIR__ . '/Autoloader.php';
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\DataStorage\Session\HttpSession;
|
||||
|
||||
$CONFIG = [
|
||||
|
|
@ -329,7 +329,7 @@ $GLOBALS['dbpool']->create('delete', $CONFIG['db']['core']['masters']['delete'])
|
|||
$GLOBALS['dbpool']->create('insert', $CONFIG['db']['core']['masters']['insert']);
|
||||
$GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']);
|
||||
|
||||
DataMapperAbstract::setConnection($GLOBALS['dbpool']->get());
|
||||
DataMapperFactory::db($GLOBALS['dbpool']->get());
|
||||
|
||||
$GLOBALS['frameworkpath'] = '/phpOMS/';
|
||||
|
||||
|
|
|
|||
|
|
@ -61,12 +61,12 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
|||
$department->name = 'HRMgmtDepartmentTest';
|
||||
$department->description = 'Description';
|
||||
$department->unit = new NullUnit(1);
|
||||
DepartmentMapper::create($department);
|
||||
DepartmentMapper::create()->execute($department);
|
||||
|
||||
$position = new Position();
|
||||
$position->name = 'HRMgmtPositionTest';
|
||||
$position->description = 'Description';
|
||||
PositionMapper::create($position);
|
||||
PositionMapper::create()->execute($position);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -30,15 +30,15 @@ final class EmployeeHistoryMapperTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
public function testCRUD() : void
|
||||
{
|
||||
$employee = new Employee(ProfileMapper::get(1));
|
||||
$employee = new Employee(ProfileMapper::get()->where('id', 1)->execute());
|
||||
|
||||
$history = new EmployeeHistory($employee);
|
||||
|
||||
$id = EmployeeHistoryMapper::create($history);
|
||||
$id = EmployeeHistoryMapper::create()->execute($history);
|
||||
self::assertGreaterThan(0, $history->getId());
|
||||
self::assertEquals($id, $history->getId());
|
||||
|
||||
$historyR = EmployeeHistoryMapper::get($history->getId());
|
||||
$historyR = EmployeeHistoryMapper::get()->where('id', $history->getId())->execute();
|
||||
self::assertEquals($history->employee->getId(), $historyR->employee->getId());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,23 +31,23 @@ final class EmployeeMapperTest extends \PHPUnit\Framework\TestCase
|
|||
*/
|
||||
public function testCR() : void
|
||||
{
|
||||
if (($profile = ProfileMapper::getFor(1, 'account'))->getId() === 0) {
|
||||
if (($profile = ProfileMapper::get()->where('account', 1)->execute())->getId() === 0) {
|
||||
$profile = new Profile();
|
||||
|
||||
$profile->account = AccountMapper::get(1);
|
||||
$profile->account = AccountMapper::get()->where('id', 1)->execute();
|
||||
$profile->birthday = ($date = new \DateTime('now'));
|
||||
|
||||
$id = ProfileMapper::create($profile);
|
||||
$id = ProfileMapper::create()->execute($profile);
|
||||
}
|
||||
|
||||
$employee = new Employee($profile);
|
||||
|
||||
$id = EmployeeMapper::create($employee);
|
||||
$id = EmployeeMapper::create()->execute($employee);
|
||||
self::assertGreaterThan(0, $employee->getId());
|
||||
self::assertEquals($id, $employee->getId());
|
||||
|
||||
$employeeR = EmployeeMapper::get($employee->getId());
|
||||
$employeeR = EmployeeMapper::get()->where('id', $employee->getId())->execute();
|
||||
self::assertEquals($employee->profile->getId(), $employeeR->profile->getId());
|
||||
self::assertGreaterThan(0, EmployeeMapper::getFromAccount(1)->getId());
|
||||
self::assertGreaterThan(0, EmployeeMapper::getFromAccount(1)->limit(1)->execute()->getId());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user