2015-05-30 15:57:47 +00:00
< ? php
/**
* @ package Joomla . Administrator
* @ subpackage com_weblinks
*
* @ copyright Copyright ( C ) 2005 - 2015 Open Source Matters , Inc . All rights reserved .
* @ license GNU General Public License version 2 or later ; see LICENSE . txt
*/
use \AcceptanceTester ;
class AdministratorWeblinksCest
{
2015-05-30 22:10:41 +00:00
private $title ;
public function __construct ()
{
// This way works just fine, but not 100% sure if that is the recommended way:
$this -> title = 'automated testing' . rand ( 1 , 100 );
}
2015-05-30 16:45:18 +00:00
public function administratorCreateWeblink ( AcceptanceTester $I )
2015-05-30 15:57:47 +00:00
{
2015-05-30 16:29:24 +00:00
$I -> am ( 'Administrator' );
2015-05-30 16:30:25 +00:00
$I -> wantToTest ( 'Weblink creation in /administrator/' );
2015-05-30 16:29:24 +00:00
$I -> doAdministratorLogin ();
2015-05-30 16:30:25 +00:00
$I -> amGoingTo ( 'Navigate to Weblinks page in /administrator/' );
$I -> amOnPage ( 'administrator/index.php?option=com_weblinks' );
$I -> waitForText ( 'Web Links Manager: Web Links' , '5' ,[ 'css' => 'h1' ]);
$I -> expectTo ( 'see weblinks page' );
2015-05-30 16:29:24 +00:00
$I -> checkForPhpNoticesOrWarnings ();
2015-05-30 16:30:25 +00:00
$I -> amGoingTo ( 'try to save a weblink with a filled title and URL' );
$I -> click ([ 'xpath' => " //button[@onclick= \" Joomla.submitbutton('weblink.add') \" ] " ]);
$I -> waitForText ( 'Web Links Manager: Web Link' , '5' ,[ 'css' => 'h1' ]);
2015-05-30 22:10:41 +00:00
$I -> fillField ([ 'id' => 'jform_title' ], $this -> title );
$I -> fillField ([ 'id' => 'jform_url' ], 'http://example.com/automated_testing' . $this -> title );
$I -> click ([ 'xpath' => " //button[@onclick= \" Joomla.submitbutton('weblink.save') \" ] " ]);
$I -> waitForText ( 'Web Links Manager: Web Link' , '5' ,[ 'css' => 'h1' ]);
$I -> expectTo ( 'see a success message and the weblink added after saving the weblink' );
2015-05-30 16:30:25 +00:00
$I -> see ( 'Web link successfully saved' ,[ 'id' => 'system-message-container' ]);
2015-05-30 22:10:41 +00:00
$I -> see ( $this -> title ,[ 'id' => 'weblinkList' ]);
}
2015-05-30 22:19:28 +00:00
/**
2015-05-30 22:21:18 +00:00
* @ depends administratorCreateWeblink
2015-05-30 22:19:28 +00:00
*
* @ param AcceptanceTester $I
*/
2015-05-30 22:10:41 +00:00
public function administratorCreateWeblinkTrash ( AcceptanceTester $I )
{
$I -> am ( 'Administrator' );
$I -> wantToTest ( 'Weblink creation in /administrator/' );
$I -> doAdministratorLogin ();
$I -> amGoingTo ( 'Navigate to Weblinks page in /administrator/' );
$I -> amOnPage ( 'administrator/index.php?option=com_weblinks' );
$I -> waitForText ( 'Web Links Manager: Web Links' , '5' ,[ 'css' => 'h1' ]);
$I -> expectTo ( 'see weblinks page' );
$I -> checkForPhpNoticesOrWarnings ();
$I -> amGoingTo ( 'Search the just saved weblink' );
$I -> fillField ([ 'id' => 'filter_search' ], $this -> title . " \n " );
$I -> waitForText ( 'Web Links Manager: Web Links' , '5' ,[ 'css' => 'h1' ]);
$I -> expectTo ( 'see weblinks page' );
$I -> checkForPhpNoticesOrWarnings ();
$I -> amGoingTo ( 'Delete the just saved weblink' );
$I -> click ([ 'id' => 'cb0' ]);
$I -> click ([ 'xpath' => " //button[@onclick= \" if (document.adminForm.boxchecked.value==0) { alert('Please first make a selection from the list');}else { Joomla.submitbutton('weblinks.trash')} \" ] " ]);
$I -> waitForText ( 'Web Links Manager: Web Link' , '5' ,[ 'css' => 'h1' ]);
$I -> expectTo ( 'see a success message and the weblink removed from the list' );
$I -> see ( 'Web link successfully trashed' ,[ 'id' => 'system-message-container' ]);
$I -> cantSee ( $this -> title ,[ 'id' => 'weblinkList' ]);
2015-05-30 15:57:47 +00:00
}
2015-05-30 16:45:18 +00:00
public function administratorCreateWeblinkWithoutTitleFails ( AcceptanceTester $I )
{
$I -> am ( 'Administrator' );
$I -> wantToTest ( 'Weblink creation in /administrator/' );
$I -> doAdministratorLogin ();
$I -> amGoingTo ( 'Navigate to Weblinks page in /administrator/' );
$I -> amOnPage ( 'administrator/index.php?option=com_weblinks' );
$I -> waitForText ( 'Web Links Manager: Web Links' , '5' ,[ 'css' => 'h1' ]);
$I -> expectTo ( 'see weblinks page' );
$I -> checkForPhpNoticesOrWarnings ();
$I -> amGoingTo ( 'try to save a weblink with empty title and it should fail' );
$I -> click ([ 'xpath' => " //button[@onclick= \" Joomla.submitbutton('weblink.add') \" ] " ]);
$I -> waitForText ( 'Web Links Manager: Web Link' , '5' ,[ 'css' => 'h1' ]);
$I -> click ([ 'xpath' => " //button[@onclick= \" Joomla.submitbutton('weblink.apply') \" ] " ]);
$I -> expectTo ( 'see an error when trying to save a weblink without title and without URL' );
$I -> see ( 'Invalid field: Title' ,[ 'id' => 'system-message-container' ]);
$I -> see ( 'Invalid field: URL' ,[ 'id' => 'system-message-container' ]);
}
2015-05-30 15:57:47 +00:00
}