27namespace Dolibarr\test\functional;
29use PHPUnit_Extensions_Selenium2TestCase_WebDriverException;
48 protected static $base_url =
'http://dev.zenfusion.fr';
53 protected static $dol_admin_user =
'admin';
58 protected static $dol_admin_pass =
'admin';
60 private static $module_id = 500000;
63 public static $browsers = array(
65 'browser' =>
'Google Chrome on Linux',
66 'browserName' =>
'chrome',
67 'sessionStrategy' =>
'shared',
68 'desiredCapabilities' => array()
91 $anchors = $this->elements($this->
using(
'tag name')->value(
'a'));
92 foreach ($anchors as $anchor) {
93 if (strstr($anchor->attribute(
'href'), $value)) {
114 $this->setSeleniumServerRequestsTimeout(3600);
115 $this->setBrowserUrl(self::$base_url);
133 if ($this->byId(
'login')) {
134 $login = $this->byId(
'username');
136 $login->value(
'admin');
137 $password = $this->byId(
'password');
139 $password->value(
'admin');
140 $this->byId(
'login')->submit();
142 }
catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
153 $this->url(
'/admin/const.php');
155 $main_features_level_path =
'//input[@value="MAIN_FEATURES_LEVEL"]/following::input[@type="text"]';
156 $main_features_level = $this->byXPath($main_features_level_path);
157 $main_features_level->clear();
158 $main_features_level->value(
'2');
159 $this->byName(
'update')->click();
161 $main_features_level = $this->byXPath($main_features_level_path);
162 return $this->assertEquals(
'2', $main_features_level->value(),
"MAIN_FEATURES_LEVEL value is 2");
173 $this->url(
'/admin/modules.php');
175 $module_status_image_path =
'//a[contains(@href, "'.self::$module_id.
'")]/img';
176 $module_status_image = $this->byXPath($module_status_image_path);
177 if (strstr($module_status_image->attribute(
'src'),
'switch_off.png')) {
179 $this->
byHref(
'modMyModule')->click();
182 $this->
byHref(
'modMyModule')->click();
184 $this->
byHref(
'modMyModule')->click();
187 $module_status_image = $this->byXPath($module_status_image_path);
188 return $this->assertContains(
'switch_on.png', $module_status_image->attribute(
'src'),
"Module enabled");
199 $this->url(
'/custom/mymodule/admin/setup.php');
201 return $this->assertContains(
'mymodule/admin/setup.php', $this->url(),
'Configuration page');
212 $this->url(
'/custom/mymodule/admin/about.php');
214 return $this->assertContains(
'mymodule/admin/about.php', $this->url(),
'About page');
225 $this->url(
'/custom/mymodule/admin/about.php');
227 return $this->assertEquals(
228 'Dolibarr Module Template (aka My Module)',
229 $this->byTag(
'h1')->text(),
242 $this->url(
'/admin/boxes.php');
244 return $this->assertContains(
'mymodulewidget1', $this->source(),
"Box enabled");
255 $this->url(
'/admin/triggers.php');
257 return $this->assertContains(
258 'interface_99_modMyModule_MyModuleTriggers.class.php',
259 $this->byTag(
'body')->text(),
272 $this->url(
'/admin/triggers.php');
274 return $this->assertContains(
276 $this->byXPath(
'//td[text()="interface_99_modMyModule_MyTrigger.class.php"]/following::img')->attribute(
'src'),
testBoxDeclared()
Test box is properly declared.
testModuleEnabled()
Test enabling the module.
testAboutPage()
Test access to the about page.
static tearDownAfterClass()
Global test teardown.
testConfigurationPage()
Test access to the configuration page.
assertPreConditions()
Verify pre conditions.
byHref($value)
Helper function to select links by href.
testTriggerDeclared()
Test trigger is properly enabled.
authenticate()
Handle Dolibarr authentication.
assertPostConditions()
Verify post conditions.
tearDown()
Unit test teardown.
testAboutPageRendersMarkdownReadme()
Test about page is rendering Markdown.
testEnableDeveloperMode()
Test enabling developer mode.
static setUpBeforeClass()
Global test setup.
testTriggerEnabled()
Test trigger is properly declared.