public function testErrorsNamePage() { $databaseName = DB_NAME_PREFIX . "_error_name"; parent::navigateNamePage($databaseName); // Verify warning message for all blank fields parent::clickContinueButton(); $this->assertEquals("Enter a site name.", $this->getText(LINK_DIV . "div[2]/div[2]")); $this->assertEquals("Enter an administrator username.", $this->getText(LINK_DIV . "div[3]/div[2]")); $this->assertEquals("Enter a password for the administrator account.", $this->getText(LINK_DIV . "div[4]/div[2]")); // Verify warning message for the blank 'Site name' $this->type("config__AdminName", VALID_YOUR_NAME); $this->type("config__AdminPassword", VALID_PASSWORD); $this->type("config__AdminPassword2", VALID_PASSWORD_AGAIN); parent::clickContinueButton(); $this->assertEquals("Enter a site name.", $this->getText(LINK_DIV . "div[2]/div[2]")); // Input valid 'Site name' $this->type("config_wgSitename", VALID_WIKI_NAME); // Verify warning message for the invalid "Project namespace' $this->click("config__NamespaceType_other"); $this->type("config_wgMetaNamespace", INVALID_NAMESPACE); parent::clickContinueButton(); $this->assertEquals("The specified namespace \"\" is invalid. Specify a different project namespace.", $this->getText(LINK_DIV . "div[2]/div[2]")); // Verify warning message for the blank 'Project namespace' $this->type("config_wgSitename", VALID_WIKI_NAME); $this->click("config__NamespaceType_other"); $this->type("config_wgMetaNamespace", ""); parent::clickContinueButton(); $this->assertEquals("The specified namespace \"\" is invalid. Specify a different project namespace.", $this->getText(LINK_DIV . "div[2]/div[2]")); // Valid 'Project namespace' $this->click("config__NamespaceType_other"); $this->type("config_wgMetaNamespace", VALID_NAMESPACE); parent::clickContinueButton(); // Valid 'Site name' $this->click("config__NamespaceType_site-name"); $this->type("config_wgSitename", VALID_WIKI_NAME); // Verify warning message for blank 'Your name' $this->type("config__AdminName", " "); parent::clickContinueButton(); $this->assertEquals("Enter an administrator username.", $this->getText(LINK_DIV . "div[2]/div[2]")); $this->type("config_wgSitename", VALID_WIKI_NAME); // Verify warning message for blank 'Password' $this->type("config__AdminName", VALID_YOUR_NAME); $this->type("config__AdminPassword", " "); parent::clickContinueButton(); $this->assertEquals("Enter a password for the administrator account.", $this->getText(LINK_DIV . "div[2]/div[2]")); // Verify warning message for the blank 'Password again' $this->type("config_wgSitename", VALID_WIKI_NAME); $this->type("config__AdminPassword", VALID_PASSWORD); $this->type("config__AdminPassword2", " "); parent::clickContinueButton(); $this->assertEquals("The two passwords you entered do not match.", $this->getText(LINK_DIV . "div[2]/div[2]")); // Verify warning message for the different'Password' and 'Password again' $this->type("config_wgSitename", VALID_WIKI_NAME); $this->type("config__AdminPassword", VALID_PASSWORD); $this->type("config__AdminPassword2", INVALID_PASSWORD_AGAIN); parent::clickContinueButton(); $this->assertEquals("The two passwords you entered do not match.", $this->getText(LINK_DIV . "div[2]/div[2]")); }
public function testNameFieldHint() { $databaseName = DB_NAME_PREFIX . "_name_field"; parent::navigateNamePage($databaseName); // Verify help field for 'Name of Wiki' $this->click(LINK_FORM . "div[1]/div[1]/div/span[1]"); $this->assertEquals(NAME_OF_WIKI_HELP, $this->getText(LINK_FORM . "div[1]/div[1]/div/span[2]/p")); // Verify help field for 'Project namespace' $this->click(LINK_FORM . "div[2]/div[1]/div/span[1]"); $this->assertEquals(PROJECT_NAMESPACE_HELP, $this->getText(LINK_FORM . "div[2]/div[1]/div/span[2]/p")); // Verify help field for 'Your Name' $this->click(LINK_FORM . "fieldset/div[1]/div[1]/div/span[1]"); $this->assertEquals(USER_NAME_HELP, $this->getText(LINK_FORM . "fieldset/div[1]/div[1]/div/span[2]/p")); // Verify help field for 'E mail address' $this->click(LINK_FORM . "fieldset/div[4]/div[1]/div/span[1]"); $this->assertEquals(EMAIL_ADDRESS_HELP, $this->getText(LINK_FORM . "fieldset/div[4]/div[1]/div/span[2]/p")); parent::restartInstallation(); }
public function testBothButtonsAvailability() { // Verify buttons availability on 'Welcome to MediaWiki' page parent::navigateWelcometoMediaWikiPage(); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Connect to Database' page parent::navigateConnetToDatabasePage(); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Database settings' page $databaseName = DB_NAME_PREFIX . "_db_settings"; parent::navigateDatabaseSettingsPage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Name' page $databaseName = DB_NAME_PREFIX . "_name"; parent::navigateNamePage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Options' page $databaseName = DB_NAME_PREFIX . "_options"; parent::navigateOptionsPage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Install' page $databaseName = DB_NAME_PREFIX . "_install"; parent::navigateInstallPage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); }
public function testNamePageUI() { $databaseName = DB_NAME_PREFIX . "_name_UI"; parent::navigateNamePage($databaseName); // 'Name of wiki' text box available $this->assertEquals("Name of wiki:", $this->getText(LINK_FORM . "div[1]/div[1]/label")); $this->assertTrue($this->isElementPresent("config_wgSitename")); // 'Project namespace' label available $this->assertEquals("Project namespace:", $this->getText(LINK_FORM . "div[2]/div[1]/label")); // 'Same as the wiki name' radio button available $this->assertTrue($this->isElementPresent("config__NamespaceType_site-name")); // 'Project' radio button available $this->assertTrue($this->isElementPresent("config__NamespaceType_generic")); // 'Project' radio button available $this->assertTrue($this->isElementPresent("config__NamespaceType_other")); // 'Same as the wiki name' label available $this->assertEquals("Same as the wiki name:", $this->getText(LINK_FORM . "div[2]/div[2]/ul/li[1]/label")); // 'Project' label available $this->assertEquals("Project", $this->getText(LINK_FORM . "div[2]/div[2]/ul/li[2]/label")); // 'Project' label available $this->assertEquals("Other (specify)", $this->getText(LINK_FORM . "div[2]/div[2]/ul/li[3]/label")); // 'Same as the wiki name' radio button selected by default $this->assertEquals("on", $this->getValue("config__NamespaceType_site-name")); // 'Administrator account' section available $this->assertTrue($this->isElementPresent(LINK_FORM . "fieldset")); // 'Administrator account' label available $this->assertEquals("Administrator account", $this->getText(LINK_FORM . "fieldset/legend")); // 'Your Name' label available $this->assertEquals("Your name:", $this->getText(LINK_FORM . "fieldset/div[1]/div[1]/label")); // 'Your Name' text box available $this->assertTrue($this->isElementPresent("config__AdminName")); // 'Password' label available $this->assertEquals("Password:"******"fieldset/div[2]/div[1]/label")); // 'Password' text box available $this->assertTrue($this->isElementPresent("config__AdminPassword")); // 'Password again' label available $this->assertEquals("Password again:", $this->getText(LINK_FORM . "fieldset/div[3]/div[1]/label")); // 'Password again' text box available $this->assertTrue($this->isElementPresent("config__AdminPassword2")); // 'Email address' label avaialble $this->assertEquals("E-mail address:", $this->getText(LINK_FORM . "fieldset/div[4]/div[1]/label")); // 'Email address' text box available $this->assertTrue($this->isElementPresent("config__AdminEmail")); // Message displayed $this->assertEquals("You are almost done! You can now skip the remaining configuration and install the wiki right now.", $this->getText(LINK_FORM . "/div[4]/div[2]/p")); // 'Ask me more questions.' radio button available $this->assertTrue($this->isElementPresent("config__SkipOptional_continue")); // 'Ask me more questions.' label available $this->assertEquals("Ask me more questions.", $this->getText(LINK_FORM . "div[5]/div[2]/ul/li[1]/label")); // 'I'm bored already, just install the wiki' radio button is avaiable $this->assertTrue($this->isElementPresent("config__SkipOptional_skip")); // 'I'm bored already, just install the wiki' label available $this->assertEquals("I'm bored already, just install the wiki.", $this->getText(LINK_FORM . "div[5]/div[2]/ul/li[2]/label")); // 'Ask me more questions.' radio button is default selected $this->assertEquals("on", $this->getValue("config__SkipOptional_continue")); }