espoTester->getApplication(true, $clearCache, $portalId); } protected function auth($userName, $password = null, $portalId = null, $authenticationMethod = null) { $this->userName = $userName; $this->password = $password; $this->portalId = $portalId; $this->authenticationMethod = $authenticationMethod; if (isset($this->espoTester)) { $this->espoTester->auth($userName, $password, $portalId, $authenticationMethod); } } /** * Get Espo Application * * @return \Espo\Core\Application */ protected function getApplication() { return $this->espoApplication; } /** * Get Espo container * * @return \Espo\Core\Container */ protected function getContainer() { return $this->getApplication()->getContainer(); } protected function normalizePath($path) { return $this->espoTester->normalizePath($path); } protected function sendRequest($method, $action, $data = null) { return $this->espoTester->sendRequest($method, $action, $data); } protected function setUp() : void { $params = array( 'className' => get_class($this), 'dataFile' => $this->dataFile, 'pathToFiles' => $this->pathToFiles, 'initData' => $this->initData, ); $this->espoTester = new Tester($params); $this->beforeSetUp(); $this->espoTester->initialize(); $this->auth($this->userName, $this->password, null, $this->authenticationMethod); $this->beforeStartApplication(); $this->espoApplication = $this->createApplication(); $this->afterStartApplication(); } protected function tearDown() : void { $this->espoTester->terminate(); $this->espoTester = NULL; $this->espoApplication = NULL; } protected function createUser($userData, array $role = null, $isPortal = false) { return $this->espoTester->createUser($userData, $role, $isPortal); } protected function beforeSetUp() { } protected function beforeStartApplication() { } protected function afterStartApplication() { } /** * Create Slim request object * * @param string $method * @param array $params * @param array $envParams E.g. 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'name=John&age=30'. More details \Slim\Environment::mock() * * @return \Slim\Http\Request */ protected function createRequest($method, array $params = array(), array $envParams = array()) { if (!isset($envParams['REQUEST_METHOD'])) { $envParams['REQUEST_METHOD'] = strtoupper($method); } if (!isset($envParams['QUERY_STRING'])) { $envParams['QUERY_STRING'] = http_build_query($params); } $slimEnvironment = \Slim\Environment::mock($envParams); return new \Slim\Http\Request($slimEnvironment); } protected function setData(array $data) { $this->espoTester->setData($data); } protected function fullReset() { $this->espoTester->setParam('fullReset', true); } }