Files
php_db_components_pack/tests/secret_not_in_git/DatabaseTest.php
2025-08-18 23:00:17 +03:00

121 lines
4.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace goodboyalex\php_db_components_pack\tests\secret_not_in_git;
use Exception;
use goodboyalex\php_components_pack\types\GUID;
use goodboyalex\php_db_components_pack\classes\ConditionBuilder;
use goodboyalex\php_db_components_pack\classes\Database;
use goodboyalex\php_db_components_pack\enums\DBDriver;
use goodboyalex\php_db_components_pack\models\DBConfig;
use PHPUnit\Framework\TestCase;
class DatabaseTest extends TestCase
{
public function testGetRow () {}
public function testInsertMany () {}
public function testUpdateMany () {}
public function testExecute () {}
public function testInsert ()
{
$this->IncludeReq();
$db = $this->GetDatabase();
if (!$db->IsTableExist('users'))
die('Таблица не существует. Сперва запустите тест testCreateTable / Table does not exist. Run testCreateTable first');
if ($db->IsExist(
table: 'users',
where: new ConditionBuilder()->WhereEquals('login', 'account1')
))
die('Запись с логином account1 уже существует в таблице users. Сперва удалите запись с логином account1 (можно использовать метод testDelete) / Record with login account1 already exists in table users. Delete record with login account1 first');
$model = new UserModel(
id: GUID::Generate(),
login: "account1",
password: "password1",
salt: GUID_EMPTY,
firstName: "firstName1",
middleName: "middleName1",
lastName: "lastName1",
email: "email1@ya.ru",
isEmailVerified: false,
groupName: "default",
createdAt: time(),
updatedAt: 0,
userData: ['key1' => 'value1', 'key2' => 'value2']
);
$result = $db->Insert('users', $model);
$this->assertTrue($result !== false);
}
public function testQuery () {}
public function testQueryLast () {}
public function testCreateTable ()
{
$this->IncludeReq();
$db = $this->GetDatabase();
$db->CreateTable(
tableName: 'users',
dbItemClass: '\goodboyalex\php_db_components_pack\tests\secret_not_in_git\UserModel'
);
$this->assertTrue($db->IsTableExist('users'));
}
public function testQueryFirst () {}
public function testCount () {}
public function testGetCol () {}
public function testGetRows () {}
public function testIsTableExist () {}
public function testDropTable () {}
public function testGetValue () {}
public function testUpdate () {}
public function testIsExist () {}
public function testDelete () {}
private function IncludeReq (): void
{
require_once 'Converters.php';
require_once 'UserModel.php';
}
private function GetDatabase (): Database
{
$config = new DBConfig(
driver: DBDriver::MSSQL,
host: '46.172.4.201',
port: 17879,
name: 'php_db_components_test',
userName: "db_user",
password: 'hxcssuy:oI.CQ%.zbw=As$Lj7=]+nf'
);
$onException = fn (Exception $exception, bool $terminate)
=> $terminate
? die($exception->getMessage())
: print $exception->getMessage();
return new Database($config, $onException);
}
}