2015-09-30 17:29:14 +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
*/
class AdministratorCategoriesCest
{
2015-10-31 15:49:26 +00:00
public function administratorVerifyAvailableTabs ( \Step\Acceptance\category $I )
2015-10-31 11:44:29 +00:00
{
2015-10-31 15:49:26 +00:00
$I -> am ( 'Administrator' );
$I -> wantToTest ( 'Category Edit View Tabs' );
2015-10-31 11:44:29 +00:00
2015-10-31 15:49:26 +00:00
$I -> doAdministratorLogin ();
2015-10-31 11:44:29 +00:00
2015-10-31 15:49:26 +00:00
$I -> amGoingTo ( 'Navigate to Categories page in /administrator/ and verify the Tabs' );
$I -> amOnPage ( 'administrator/index.php?option=com_categories&extension=com_weblinks' );
$I -> clickToolbarButton ( 'New' );
$I -> waitForText ( 'Weblinks: New Category' , '30' , [ 'css' => 'h1' ]);
$I -> verifyAvailableTabs ([ 'Category' , 'Publishing' , 'Permissions' , 'Options' ]);
2015-10-31 11:44:29 +00:00
}
2015-10-29 09:47:53 +00:00
public function administratorCreateCategory ( \Step\Acceptance\category $I )
2015-09-30 17:29:14 +00:00
{
$I -> am ( 'Administrator' );
2015-10-29 09:47:53 +00:00
$categoryName = 'automated testing' . rand ( 1 , 100 );
2015-09-30 17:29:14 +00:00
$I -> wantToTest ( 'Category creation in /administrator/' );
$I -> doAdministratorLogin ();
2015-10-29 09:47:53 +00:00
$I -> amGoingTo ( 'Navigate to Categories page in /administrator/ and create a Category' );
$I -> createCategory ( $categoryName );
$I -> amGoingTo ( 'Delete the Category which was created' );
$I -> trashCategory ( $categoryName );
2015-10-31 15:49:26 +00:00
$I -> deleteCategory ( $categoryName );
2015-09-30 17:29:14 +00:00
}
public function administratorCreateCategoryWithoutTitleFails ( AcceptanceTester $I )
{
$I -> am ( 'Administrator' );
$I -> wantToTest ( 'Category creation in /administrator/ without title' );
$I -> doAdministratorLogin ();
$I -> amGoingTo ( 'Navigate to Categories page in /administrator/' );
$I -> amOnPage ( 'administrator/index.php?option=com_categories&extension=com_weblinks' );
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
$I -> expectTo ( 'see categories page' );
$I -> amGoingTo ( 'try to save a category with empty title and it should fail' );
$I -> click ([ 'xpath' => " //button[@onclick= \" Joomla.submitbutton('category.add') \" ] " ]);
2015-10-29 09:13:54 +00:00
$I -> waitForText ( 'Weblinks: New Category' , '30' , [ 'css' => 'h1' ]);
2015-09-30 17:29:14 +00:00
$I -> click ([ 'xpath' => " //button[@onclick= \" Joomla.submitbutton('category.apply') \" ] " ]);
$I -> expectTo ( 'see an error when trying to save a category without title' );
$I -> see ( 'Invalid field: Title' , [ 'id' => 'system-message-container' ]);
}
2015-10-29 09:47:53 +00:00
public function administratorPublishCategory ( \Step\Acceptance\category $I )
2015-09-30 17:29:14 +00:00
{
$I -> am ( 'Administrator' );
2015-10-29 09:47:53 +00:00
$categoryName = 'automated testing pub' . rand ( 1 , 100 );
$I -> wantToTest ( 'Category creation in /administrator/' );
2015-09-30 17:29:14 +00:00
2015-10-29 09:47:53 +00:00
$I -> doAdministratorLogin ();
2015-09-30 17:29:14 +00:00
2015-10-29 09:47:53 +00:00
$I -> amGoingTo ( 'Navigate to Categories page in /administrator/ and create a new Category' );
$I -> createCategory ( $categoryName );
2015-09-30 17:29:14 +00:00
2015-10-29 09:47:53 +00:00
$I -> searchForItem ( $categoryName );
2015-09-30 17:29:14 +00:00
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
2015-10-29 09:47:53 +00:00
$I -> checkAllResults ();
2015-09-30 17:29:14 +00:00
$I -> amGoingTo ( 'try to publish a weblink category' );
2015-10-29 09:47:53 +00:00
$I -> clickToolbarButton ( 'publish' );
2015-09-30 17:29:14 +00:00
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
$I -> expectTo ( 'see a success message after publishing the category' );
$I -> see ( '1 category successfully published.' , [ 'id' => 'system-message-container' ]);
2015-10-29 09:47:53 +00:00
$I -> amGoingTo ( 'Delete the Category which was created' );
$I -> trashCategory ( $categoryName );
2015-10-31 15:49:26 +00:00
$I -> deleteCategory ( $categoryName );
2015-09-30 17:29:14 +00:00
}
2015-10-29 09:47:53 +00:00
public function administratorUnpublishCategory ( \Step\Acceptance\category $I )
2015-09-30 17:29:14 +00:00
{
$I -> am ( 'Administrator' );
2015-10-29 09:47:53 +00:00
$categoryName = 'automated testing unpub' . rand ( 1 , 100 );
$I -> wantToTest ( 'Category creation in /administrator/' );
2015-09-30 17:29:14 +00:00
$I -> doAdministratorLogin ();
$I -> amGoingTo ( 'Navigate to Categories page in /administrator/' );
2015-10-29 09:47:53 +00:00
$I -> createCategory ( $categoryName );
2015-09-30 17:29:14 +00:00
2015-10-29 09:47:53 +00:00
$I -> searchForItem ( $categoryName );
2015-09-30 17:29:14 +00:00
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
2015-10-29 09:47:53 +00:00
$I -> checkAllResults ();
2015-09-30 17:29:14 +00:00
2015-10-29 09:47:53 +00:00
//publish the category
$I -> amGoingTo ( 'try to publish a weblink category' );
$I -> clickToolbarButton ( 'publish' );
2015-09-30 17:29:14 +00:00
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
2015-10-29 09:47:53 +00:00
$I -> expectTo ( 'see a success message after publishing the category' );
2015-09-30 17:29:14 +00:00
$I -> see ( '1 category successfully published.' , [ 'id' => 'system-message-container' ]);
// Unpublish it again
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
2015-10-29 09:47:53 +00:00
$I -> checkAllResults ();
2015-09-30 17:29:14 +00:00
$I -> amGoingTo ( 'Try to unpublish a weblink category' );
2015-10-29 09:47:53 +00:00
$I -> clickToolbarButton ( 'unpublish' );
2015-09-30 17:29:14 +00:00
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
$I -> expectTo ( 'See a success message after unpublishing the category' );
$I -> see ( '1 category successfully unpublished' , [ 'id' => 'system-message-container' ]);
2015-10-29 09:47:53 +00:00
//delete the category
$I -> amGoingTo ( 'Delete the Category which was created' );
$I -> trashCategory ( $categoryName );
2015-10-31 15:49:26 +00:00
$I -> deleteCategory ( $categoryName );
2015-09-30 17:29:14 +00:00
}
2015-10-30 14:25:00 +00:00
public function administratorArchiveCategory ( \Step\Acceptance\category $I )
2015-10-29 12:36:44 +00:00
{
$I -> am ( 'Administrator' );
$I -> wantToTest ( 'Archiving Category in /administrator/' );
$I -> doAdministratorLogin ();
2015-10-31 15:49:26 +00:00
$salt = rand ( 1 , 100 );
$I -> createCategory ( 'automated testing arch' . $salt );
2015-10-29 12:36:44 +00:00
$I -> amGoingTo ( 'Search for automated testing' );
2015-10-31 15:49:26 +00:00
$I -> fillField ([ 'xpath' => " //input[@id= \" filter_search \" ] " ], " automated testing arch " . $salt . " \n " );
2015-10-29 12:36:44 +00:00
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
$I -> amGoingTo ( 'Select the first weblink' );
$I -> click ([ 'xpath' => " //input[@id= \" cb0 \" ] " ]);
$I -> amGoingTo ( 'try to archive a weblink category' );
$I -> click ([ 'xpath' => " //button[@onclick= \" if (document.adminForm.boxchecked.value==0) { alert('Please first make a selection from the list.');}else { Joomla.submitbutton('categories.archive')} \" ] " ]);
$I -> waitForText ( 'Weblinks: Categories' , '30' , [ 'css' => 'h1' ]);
2015-10-31 15:49:26 +00:00
$I -> expectTo ( 'see a success message after Archiving the category' ); $I -> see ( '1 category successfully archived.' , [ 'id' => 'system-message-container' ]);
$I -> setFilter ( 'select status' , 'Archived' );
$I -> trashCategory ( 'automated testing arch' . $salt );
2015-10-29 12:36:44 +00:00
}
2015-10-31 15:49:26 +00:00
}