. */ namespace SP\Tests; use DI\ContainerBuilder; use Doctrine\Common\Cache\ArrayCache; use SP\Config\ConfigData; use SP\Core\Context\ContextInterface; use SP\Services\User\UserLoginResponse; use SP\Storage\DatabaseConnectionData; define('APP_MODULE', 'tests'); define('APP_ROOT', dirname(__DIR__)); define('TEST_ROOT', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'tests'); define('RESOURCE_DIR', TEST_ROOT . DIRECTORY_SEPARATOR . 'res'); define('CONFIG_PATH', RESOURCE_DIR . DIRECTORY_SEPARATOR . 'config'); define('CONFIG_FILE', CONFIG_PATH . DIRECTORY_SEPARATOR . 'config.xml'); define('ACTIONS_FILE', CONFIG_PATH . DIRECTORY_SEPARATOR . 'actions.xml'); require APP_ROOT . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; require APP_ROOT . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'BaseFunctions.php'; /** * Función para llamadas a gettext */ if (!function_exists('gettext')) { /** * @param $str * @return string */ function gettext($str) { return $str; } } /** * Configura el contexto de la aplicación para los tests * * @throws \DI\DependencyException * @throws \DI\NotFoundException * @throws \SP\Core\Context\ContextException * @return \DI\Container */ function setupContext() { // Instancia del contenedor de dependencias con las definiciones de los objetos necesarios // para la aplicación $builder = new ContainerBuilder(); $builder->setDefinitionCache(new ArrayCache()); $builder->addDefinitions(APP_ROOT . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'Definitions.php'); $dic = $builder->build(); // Inicializar el contexto $context = $dic->get(ContextInterface::class); $context->initialize(); $context->setConfig(new ConfigData()); $userData = new UserLoginResponse(); $userData->setId(1); $userData->setUserGroupId(1); $userData->setIsAdminApp(1); $context->setUserData($userData); $databaseConnectionData = (new DatabaseConnectionData()) ->setDbHost('172.17.0.2') ->setDbName('syspass') ->setDbUser('root') ->setDbPass('syspass'); // Inicializar la configuración $dic->set(ConfigData::class, $context->getConfig()); // Inicializar los datos de conexión a la BBDD $dic->set(DatabaseConnectionData::class, $databaseConnectionData); return $dic; }