mirror of
https://github.com/joomla-extensions/weblinks.git
synced 2024-10-31 19:02:30 +00:00
Merge pull request #141 from kshitijSharma2014/CategoriesTest
Create a menu item: Displays a list of Web Links for a category
This commit is contained in:
commit
b1c3dee301
@ -9,20 +9,69 @@
|
|||||||
*/
|
*/
|
||||||
class AdministratorCategoriesCest
|
class AdministratorCategoriesCest
|
||||||
{
|
{
|
||||||
public function administratorVerifyAvailableTabs(\Step\Acceptance\category $I)
|
/**
|
||||||
|
* Function to delete the menuItem
|
||||||
|
*
|
||||||
|
* @param string $menuItem Title of the menuItem which is to be deleted
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
private function deleteMenuItem(AcceptanceTester $I, $menuItem)
|
||||||
{
|
{
|
||||||
$I->am('Administrator');
|
$I->amGoingTo('Delete the just saved MenuItem');
|
||||||
$I->wantToTest('Category Edit View Tabs');
|
$I->amOnPage('/administrator/index.php?option=com_menus&view=items');
|
||||||
|
$I->searchForItem($menuItem);
|
||||||
$I->doAdministratorLogin();
|
$I->checkAllResults();
|
||||||
|
$I->clickToolbarButton('Trash');
|
||||||
$I->amGoingTo('Navigate to Categories page in /administrator/ and verify the Tabs');
|
$I->expectTo('see a success message and the menuItem removed from the list');
|
||||||
$I->amOnPage('administrator/index.php?option=com_categories&extension=com_weblinks');
|
$I->see('1 menu item successfully trashed.', ['id' => 'system-message-container']);
|
||||||
$I->clickToolbarButton('New');
|
$I->searchForItem($menuItem);
|
||||||
$I->waitForText('Weblinks: New Category', '30', ['css' => 'h1']);
|
$I->setFilter('select status', 'Trashed');
|
||||||
$I->verifyAvailableTabs(['Category', 'Publishing', 'Permissions', 'Options']);
|
$I->checkAllResults();
|
||||||
|
$I->clickToolbarButton('empty trash');
|
||||||
|
$I->see("1 menu item successfully deleted.", ['id' => 'system-message-container']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a weblink with category
|
||||||
|
*
|
||||||
|
* @param string $title The title for the weblink
|
||||||
|
* @param string $url The url for the
|
||||||
|
* @param string $cat The category of the weblink
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private function createWeblinkWithCategory(AcceptanceTester $I, $title, $url, $cat)
|
||||||
|
{
|
||||||
|
$I->comment('I navigate to Weblinks page in /administrator/');
|
||||||
|
$I->amOnPage('administrator/index.php?option=com_weblinks');
|
||||||
|
$I->waitForText('Web Links', '30', ['css' => 'h1']);
|
||||||
|
$I->comment('I see weblinks page');
|
||||||
|
$I->comment('I try to save a weblink with a filled title and URL');
|
||||||
|
$I->click('New');
|
||||||
|
$I->waitForText('Web Link: New', '30', ['css' => 'h1']);
|
||||||
|
$I->fillField(['id' => 'jform_title'], $title);
|
||||||
|
$I->fillField(['id' => 'jform_url'], $url);
|
||||||
|
$I->selectOptionInChosen('Category', "- " . $cat);
|
||||||
|
$I->click(['xpath' => "//button[@onclick=\"Joomla.submitbutton('weblink.save')\"]"]);
|
||||||
|
$I->waitForText('Web link successfully saved', '30', ['id' => 'system-message-container']);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function deleteWeblink(AcceptanceTester $I, $weblinkTitle)
|
||||||
|
{
|
||||||
|
$I->amGoingTo('Delete the just saved Weblink');
|
||||||
|
$I->amOnPage('/administrator/index.php?option=com_weblinks');
|
||||||
|
$I->searchForItem($weblinkTitle);
|
||||||
|
$I->checkAllResults();
|
||||||
|
$I->clickToolbarButton('Trash');
|
||||||
|
$I->expectTo('see a success message and the weblink removed from the list');
|
||||||
|
$I->see('1 web link successfully trashed.', ['id' => 'system-message-container']);
|
||||||
|
$I->selectOptionInChosen('- Select Status -', 'Trashed');
|
||||||
|
$I->searchForItem($weblinkTitle);
|
||||||
|
$I->checkAllResults();
|
||||||
|
$I->clickToolbarButton('empty trash');
|
||||||
|
$I->see("1 web link successfully deleted.", ['id' => 'system-message-container']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function administratorCreateCategory(\Step\Acceptance\category $I)
|
public function administratorCreateCategory(\Step\Acceptance\category $I)
|
||||||
{
|
{
|
||||||
$I->am('Administrator');
|
$I->am('Administrator');
|
||||||
@ -35,7 +84,6 @@ class AdministratorCategoriesCest
|
|||||||
$I->createCategory($categoryName);
|
$I->createCategory($categoryName);
|
||||||
$I->amGoingTo('Delete the Category which was created');
|
$I->amGoingTo('Delete the Category which was created');
|
||||||
$I->trashCategory($categoryName);
|
$I->trashCategory($categoryName);
|
||||||
$I->deleteCategory($categoryName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function administratorCreateCategoryWithoutTitleFails(AcceptanceTester $I)
|
public function administratorCreateCategoryWithoutTitleFails(AcceptanceTester $I)
|
||||||
@ -83,7 +131,6 @@ class AdministratorCategoriesCest
|
|||||||
|
|
||||||
$I->amGoingTo('Delete the Category which was created');
|
$I->amGoingTo('Delete the Category which was created');
|
||||||
$I->trashCategory($categoryName);
|
$I->trashCategory($categoryName);
|
||||||
$I->deleteCategory($categoryName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function administratorUnpublishCategory(\Step\Acceptance\category $I)
|
public function administratorUnpublishCategory(\Step\Acceptance\category $I)
|
||||||
@ -123,25 +170,58 @@ class AdministratorCategoriesCest
|
|||||||
//delete the category
|
//delete the category
|
||||||
$I->amGoingTo('Delete the Category which was created');
|
$I->amGoingTo('Delete the Category which was created');
|
||||||
$I->trashCategory($categoryName);
|
$I->trashCategory($categoryName);
|
||||||
$I->deleteCategory($categoryName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function administratorArchiveCategory(\Step\Acceptance\category $I)
|
public function administratorArchiveCategory(\Step\Acceptance\category $I)
|
||||||
{
|
{
|
||||||
$I->am('Administrator');
|
$I->am('Administrator');
|
||||||
$I->wantToTest('Archiving Category in /administrator/');
|
$I->wantToTest('Archiving Category in /administrator/');
|
||||||
$I->doAdministratorLogin();
|
$I->doAdministratorLogin();
|
||||||
$salt = rand(1,100);
|
$salt = rand(1, 100);
|
||||||
$I->createCategory('automated testing arch'.$salt);
|
$I->createCategory('automated testing arch' . $salt);
|
||||||
$I->amGoingTo('Search for automated testing');
|
$I->amGoingTo('Search for automated testing');
|
||||||
$I->fillField(['xpath' => "//input[@id=\"filter_search\"]"], "automated testing arch".$salt. "\n");
|
$I->fillField(['xpath' => "//input[@id=\"filter_search\"]"], "automated testing arch" . $salt . "\n");
|
||||||
$I->waitForText('Weblinks: Categories', '30', ['css' => 'h1']);
|
$I->waitForText('Weblinks: Categories', '30', ['css' => 'h1']);
|
||||||
$I->amGoingTo('Select the first weblink');
|
$I->amGoingTo('Select the first weblink');
|
||||||
$I->click(['xpath' => "//input[@id=\"cb0\"]"]);
|
$I->click(['xpath' => "//input[@id=\"cb0\"]"]);
|
||||||
$I->amGoingTo('try to archive a weblink category');
|
$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->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']);
|
$I->waitForText('Weblinks: Categories', '30', ['css' => 'h1']);
|
||||||
$I->expectTo('see a success message after Archiving the category');$I->see('1 category successfully archived.', ['id' => 'system-message-container']);
|
$I->expectTo('see a success message after Archiving the category');
|
||||||
$I->setFilter('select status','Archived');
|
$I->see('1 category successfully archived.', ['id' => 'system-message-container']);
|
||||||
$I->trashCategory('automated testing arch'.$salt);
|
$I->setFilter('select status', 'Archived');
|
||||||
|
//$I->searchForItem('automated testing arch'.$salt);
|
||||||
|
$I->trashCategory('automated testing arch' . $salt);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function administratorMenuWeblinkCategory(\Step\Acceptance\category $I)
|
||||||
|
{
|
||||||
|
$I->am('Administrator');
|
||||||
|
$salt = rand(1, 100);
|
||||||
|
$categoryName = 'automated testing' . $salt;
|
||||||
|
|
||||||
|
$I->doAdministratorLogin();
|
||||||
|
$I->amGoingTo('Navigate to Categories page in /administrator/ and create a Category');
|
||||||
|
$I->createCategory($categoryName);
|
||||||
|
$title = 'weblink' . $salt;
|
||||||
|
$url = 'www.google.com';
|
||||||
|
$this->createWeblinkWithCategory($I, $title, $url, $categoryName);
|
||||||
|
$menuTitle = 'menuItem' . $salt;
|
||||||
|
$I->createMenuItem($menuTitle, $menuCategory = 'Weblinks', $menuItem = 'List Web Links in a Category', $menu = 'Main Menu', $language = 'All');
|
||||||
|
$I->selectOptionInChosen('Select a Category', $categoryName);
|
||||||
|
$I->click('Save & Close');
|
||||||
|
|
||||||
|
// Go to the frontend
|
||||||
|
$I->comment('I want to check if the menu entry exists in the frontend');
|
||||||
|
$I->amOnPage('index.php/');
|
||||||
|
$I->click(['link' => $menuTitle]);
|
||||||
|
$I->waitForText($categoryName, 60, ['css' => 'h2']);
|
||||||
|
$I->seeElement(['xpath' => "//a[contains(text(),'" . $title . "')]"]);
|
||||||
|
|
||||||
|
//Go to backend
|
||||||
|
$I->amOnPage('/administrator/');
|
||||||
|
$this->deleteWeblink($I, $title);
|
||||||
|
$I->trashCategory($categoryName);
|
||||||
|
$this->deleteMenuItem($I, $menuTitle);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user