assert(file_exists($userModelPath), "Файл модели User существует"); $userModelContent = file_get_contents($userModelPath); $test->assertContains( "'is_admin' => \$isAdmin ? 'true' : 'false'", $userModelContent, "is_admin преобразуется в строку для PostgreSQL" ); $test->assertContains( "'is_active' => 'true'", $userModelContent, "is_active преобразуется в строку для PostgreSQL" ); $test->assertContains( "public function register(array \$data)", $userModelContent, "Метод register существует в модели User" ); $test->assertContains( "public function authenticate(string \$email, string \$password)", $userModelContent, "Метод authenticate существует в модели User" ); $test->assertContains( "public function hashPassword(string \$password)", $userModelContent, "Метод hashPassword существует в модели User" ); echo "\nПроверка register_handler.php:\n"; $registerHandlerPath = __DIR__ . '/../register_handler.php'; $test->assert(file_exists($registerHandlerPath), "Файл register_handler.php существует"); $registerHandlerContent = file_get_contents($registerHandlerPath); $test->assertContains( "filter_var(\$email, FILTER_VALIDATE_EMAIL)", $registerHandlerContent, "Валидация email присутствует" ); $test->assertContains( "strlen(\$password) < 6", $registerHandlerContent, "Проверка минимальной длины пароля присутствует" ); $test->assertContains( "\$password !== \$confirm_password", $registerHandlerContent, "Проверка совпадения паролей присутствует" ); $hasBooleanConversion = str_contains($registerHandlerContent, "\$is_admin ? 'true' : 'false'") || str_contains($registerHandlerContent, "\$is_admin ? 1 : 0"); $test->assert( $hasBooleanConversion, "is_admin преобразуется для PostgreSQL в register_handler" );