You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

120 lines
4.6 KiB

<?php
// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
//
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id$
/**
* @group gui
*/
class AcceptanceTests_ListPagesTest extends TikiSeleniumTestCase
{
public function ___testRememberToReactivateTestsIn_AcceptanceTests_ListPagesTest()
{
$this->fail("don't forget!!");
}
/**
* @group gui
*/
public function testListPagesTableIsWellFormed()
{
$this->openTikiPage('tiki-listpages.php');
$this->_assertListPagesTableIsWellFormed();
$this->_assertListedPagesWere([0 => "HomePage", 1 => "EnglishTestPage"], "Listed pages");
$this->assertEquals("Page", $this->getTable("//div[@id='tiki-listpages-content']/form/table.0.1"));
$this->assertEquals("Hits", $this->getTable("//div[@id='tiki-listpages-content']/form/table.0.2"));
$this->assertEquals("Last mod", $this->getTable("//div[@id='tiki-listpages-content']/form/table.0.3"));
$this->assertEquals("Last author", $this->getTable("//div[@id='tiki-listpages-content']/form/table.0.4"));
$this->assertEquals("Vers.", $this->getTable("//div[@id='tiki-listpages-content']/form/table.0.5"));
}
/**
* @group gui
*/
public function testPageSortingWorks()
{
$this->open("/tiki-trunk/tiki-listpages.php");
$this->clickAndWait("link=Page");
$this->assertEquals("EnglishTestPage", $this->getTable("//div[@id='tiki-listpages-content']/form/table.1.1", "Pages were not sorted out in ascending order"));
$this->assertEquals("HomePage", $this->getTable("//div[@id='tiki-listpages-content']/form/table.2.1", "Pages were not sorted out in ascending order"));
$this->clickAndWait("link=Page");
$this->assertEquals("HomePage", $this->getTable("//div[@id='tiki-listpages-content']/form/table.1.1", "Pages were not sorted out in descending order"));
$this->assertEquals("EnglishTestPage", $this->getTable("//div[@id='tiki-listpages-content']/form/table.2.1", "Pages were not sorted out in descending order"));
}
/**
* @group gui
*/
public function testDeleteAPageFromTheList()
{
$this->openTikiPage('tiki-listpages.php');
$this->logInIfNecessaryAs('admin');
$this->_assertListedPagesWere([0 => 'HomePage', 1 => 'EnglishTestPage'], "Listed pages");
$this->assertTrue($this->isElementPresent("//img[@alt='Remove']"));
$this->clickAndWait("//img[@alt='Remove']");
$this->open('http://localhost/tiki-trunk/tiki-listpages.php');
$this->_assertListedPagesWere([0 => "HomePage"], "Listed pages");
}
/**
* @group gui
*/
public function testLinksInListPagesWork()
{
$this->openTikiPage('tiki-listpages.php');
$this->logInIfNecessaryAs('admin');
$this->assertElementPresent("link=EnglishTestPage", "EnglishTestPage was not there");
$this->clickAndWait("link=EnglishTestPage");
$this->assertTrue($this->isTextPresent("This is a test page in English"));
$this->openTikiPage('tiki-listpages.php');
$this->clickAndWait("link=HomePage");
$this->assertTrue($this->isTextPresent("Thank you for installing Tiki"));
}
/**************************************
* Helper methods
**************************************/
protected function setUp(): void
{
$this->markTestSkipped("These tests are still too experimental, so skipping it.");
$this->setBrowserUrl('http://localhost/');
$this->current_test_db = "listPagesTestDump.sql";
$this->restoreDBforThisTest();
}
private function _assertListPagesTableIsWellFormed()
{
$this->assertElementPresent(
"xpath=//div[@id='tiki-listpages-content']",
"List Pages content was not present"
);
$this->assertElementPresent(
"xpath=//a[contains(@title,'Last author')]",
"Last Author column was not present"
);
$this->assertElementPresent(
"xpath=//a[contains(@title,'Versions')]",
"Versions column was not present"
);
}
private function _assertListedPagesWere($listOfPages, $message)
{
$this->assertElementPresent(
"xpath=//div[@id='tiki-listpages-content']",
"List of pages was absent"
);
foreach ($listOfPages as $expectedPage) {
$this->assertElementPresent("link=$expectedPage", "$message\nLink to expected page '$expectedPage' was missing");
}
}
}