Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/tests/AbstractBrowserTestCase.php
Property | Old Value | New Value |
---|---|---|
svn:eol-style | null | LF |
svn:keywords | null | Id |
<?php | |||||
/** | |||||
* @version $Id$ | |||||
* @package In-Portal | |||||
* @copyright Copyright (C) 1997 - 2023 Intechnic. All rights reserved. | |||||
* @license GNU/GPL | |||||
* In-Portal is Open Source software. | |||||
* This means that this software may have been modified pursuant | |||||
* the GNU General Public License, and as distributed it includes | |||||
* or is derivative of works licensed under the GNU General Public License | |||||
* or other free or open source software licenses. | |||||
* See http://www.in-portal.org/license for copyright notices and details. | |||||
*/ | |||||
use aik099\PHPUnit\BrowserTestCase; | |||||
use QATools\QATools\HtmlElements\TypifiedPageFactory; | |||||
use QATools\QATools\PageObject\Container; | |||||
abstract class AbstractBrowserTestCase extends BrowserTestCase | |||||
{ | |||||
/** | |||||
* Browsers to use for tests. | |||||
* | |||||
* @var array | |||||
*/ | |||||
public static $browsers = array( | |||||
array('alias' => 'default'), | |||||
); | |||||
/** | |||||
* Page factory. | |||||
* | |||||
* @var TypifiedPageFactory | |||||
*/ | |||||
protected $pageFactory; | |||||
/** | |||||
* Reference to kApplication class instance. | |||||
* | |||||
* @var kApplication | |||||
*/ | |||||
protected $Application = null; | |||||
/** | |||||
* Connection to database | |||||
* | |||||
* @var IDBConnection | |||||
*/ | |||||
protected $Conn; | |||||
/** | |||||
* Constructs a test case with the given name. | |||||
* | |||||
* @param string $name Test case name. | |||||
* @param array $data Data. | |||||
* @param string $data_name Data name. | |||||
* | |||||
* @access public | |||||
*/ | |||||
public function __construct($name = null, array $data = array(), $data_name = '') | |||||
{ | |||||
parent::__construct($name, $data, $data_name); | |||||
$this->Application =& kApplication::Instance(); | |||||
$this->Conn =& $this->Application->GetADODBConnection(); | |||||
} | |||||
/** | |||||
* Creates factory, that can be used for page creation in the tests. | |||||
* | |||||
* @return void | |||||
* @before | |||||
*/ | |||||
protected function setUpTest() | |||||
{ | |||||
$this->pageFactory = new TypifiedPageFactory($this->getSession(), $this->getPageFactoryConfig()); | |||||
} | |||||
/** | |||||
* Returns config object to be used during PageFactory initialization. | |||||
* | |||||
* @return Container | |||||
*/ | |||||
protected function getPageFactoryConfig() | |||||
{ | |||||
$container = new Container(); | |||||
$container['url_factory'] = function () { | |||||
return new QAToolsUrlFactory(); | |||||
}; | |||||
return $container; | |||||
} | |||||
/** | |||||
* Gets browser configuration aliases. | |||||
* Allows to decouple actual test server connection details from test cases. | |||||
* | |||||
* @return array | |||||
*/ | |||||
public function getBrowserAliases() | |||||
{ | |||||
static $cache = null; | |||||
if ( !isset($cache) ) { | |||||
$cache = require_once WRITEABLE . '/mink_config.php'; | |||||
// The remote code coverage collection won't work without "baseUrl" in the browser configuration. | |||||
foreach ( $cache as $alias_name => $browser_configuration ) { | |||||
if ( !isset($browser_configuration['alias']) && !isset($browser_configuration['baseUrl']) ) { | |||||
$cache[$alias_name]['baseUrl'] = $this->Application->BaseURL(); | |||||
} | |||||
} | |||||
} | |||||
return $cache; | |||||
} | |||||
} |