114 lines
3.9 KiB
PHP
114 lines
3.9 KiB
PHP
<?php
|
|
|
|
namespace ElixirAudit\Tests\UnitTests\App\PubUsers;
|
|
|
|
use BRSystems\Core\App\pubUsers\pubUsers;
|
|
use BRSystems\Core\App\pubUsers\inc\pubUsersModule;
|
|
use ElixirAudit\Tests\BasePhpUnitCase;
|
|
|
|
class pubUsersModuleTest extends BasePhpUnitCase
|
|
{
|
|
private pubUsers $users;
|
|
private pubUsersModule $usersModule;
|
|
private array $structure = [
|
|
'id' => 12,
|
|
'user_name' => 'Test',
|
|
'user_surname' => 'Test',
|
|
'user_login' => 'Test',
|
|
'user_email' => 'test@test.lv',
|
|
'user_phone' => '+37123634919',
|
|
'user_password' => '$1t$17$ty8ZIZL.M6CbyetuysC7JOGCjvppB7c.Tz/YsTQ8RoZgi8tdYV72p',
|
|
'user_img' => '',
|
|
'user_lang_id' => '7',
|
|
|
|
'user_last_ip' => '',
|
|
'user_last_login' =>'0',
|
|
'user_last_location_url' => '',
|
|
'user_cfg' => '',
|
|
'user_fchange' => '0',
|
|
'user_comp_id' => '0',
|
|
'user_2fa_secret_enabled' => 'RIGOKMQZLVG4VG45',
|
|
|
|
'user_created' => '1515671353',
|
|
'user_modified' => '1637512886',
|
|
'user_activated' => '0',
|
|
'user_blocked' => '0',
|
|
'user_deleted' => '0',
|
|
'user_admin' => '0',
|
|
'user_pwdtime' => '0',
|
|
'user_newpwd' => '',
|
|
'user_modified_by' => '-1',
|
|
'user_created_by' => '-1',
|
|
];
|
|
|
|
protected function setUp(): void
|
|
{
|
|
// Init base structure
|
|
$this->unitTestsAreRunning = true;
|
|
parent::setUp();
|
|
|
|
$this->reloadDbTables(['mod_users', 'mod_users_permissions']);
|
|
|
|
// Create new class
|
|
$this->users = $this->initBaseClassObjectBySiteMapId();
|
|
$this->usersModule = $this->users->controller->module;
|
|
}
|
|
|
|
protected function tearDown(): void
|
|
{
|
|
$this->reloadDbTables(['mod_users', 'mod_users_permissions']);
|
|
parent::tearDown();
|
|
}
|
|
|
|
public function testPubUsersModule(): void
|
|
{
|
|
$base = $this->structure;
|
|
|
|
unset($base['id']);
|
|
$base['user_login'] = 'MyTestUserLoginUnique';
|
|
$this->assertGreaterThan(0, $newUserId = $this->usersModule->addNewUser($base));
|
|
|
|
$UserDataFromDb = $this->usersModule->getUserByLogin($base['user_login']);
|
|
unset($UserDataFromDb['id']);
|
|
$this->assertEquals($base, $UserDataFromDb);
|
|
|
|
$this->assertEquals($base['user_login'] , $this->usersModule->getUserLoginById($newUserId));
|
|
|
|
$userData = $this->usersModule->getUserByLoginData(['id' => $newUserId]);
|
|
$this->assertEquals($userData['user_activated'], 0);
|
|
$this->usersModule->setUserActiveById($newUserId);
|
|
$userData = $this->usersModule->getUserByLoginData(['id' => $newUserId]);
|
|
$this->assertEquals($userData['user_activated'], 1);
|
|
|
|
$permissions = $this->usersModule->pubLoadUserPermissionArray($newUserId);
|
|
$this->assertNull($permissions);
|
|
|
|
$groups = $this->usersModule->pubLoadUserGroupPerArray($newUserId);
|
|
$this->assertNull($groups);
|
|
|
|
// Call for coverage
|
|
$objects = $this->usersModule->pubLoadUserObjectsPerArray($newUserId);
|
|
|
|
$companyData = $this->usersModule->getCompanyDataByCpId(23);
|
|
$this->assertIsArray($companyData);
|
|
$this->assertEquals('Mareks Keišs pašn.', $companyData['a_title']);
|
|
|
|
$companyData = $this->usersModule->getCompanyDataByCpId(23, ['id', 'a_title']);
|
|
$this->assertIsArray($companyData);
|
|
$this->assertEquals(['id' => 23, 'a_title' => 'Mareks Keišs pašn.'], $companyData);
|
|
|
|
$userId = $this->usersModule->getUserDataByEmail($base['user_email']);
|
|
$this->assertEquals($newUserId, $userId);
|
|
|
|
$exclude = [
|
|
1 => [
|
|
'd1' => strtotime('first day of January 2024'),
|
|
'd2' => strtotime('last day of March 2024'),
|
|
],
|
|
];
|
|
|
|
$data = $this->usersModule->chkDataForPaymentMissingInSelectedPeriod('mod_accounting', 'a_doc_date', $exclude);
|
|
$this->assertEquals(['1' => ['d1' => 1704060000, 'd2' => 1711836000]], $data);
|
|
}
|
|
}
|