Page MenuHomeIn-Portal Phabricator

AbstractBrowserTestCase.php
No OneTemporary

File Metadata

Created
Sun, Sep 21, 8:44 AM

AbstractBrowserTestCase.php

<?php
/**
* @version $Id: AbstractBrowserTestCase.php 16761 2023-11-15 11:29:03Z alex $
* @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;
}
}

Event Timeline