/** * @test */ public function frontEndSingleArticleState_ChangeArticleState_ArticleStateChanged() { $salt = rand(); $articleName = 'Test Article ' . $salt; $cfg = new SeleniumConfig(); $urlHome = $this->cfg->host . $this->cfg->path . 'index.php'; $homePage = $this->getPageObject('SiteContentFeaturedPage', true, $urlHome); $articleUrl = $this->cfg->host . $this->cfg->path . 'index.php/test-article-' . $salt; $this->doAdminLogin(); $articleManager = 'administrator/index.php?option=com_content'; $this->driver->get($cfg->host . $cfg->path . $articleManager); $this->articleManagerPage = $this->getPageObject('ArticleManagerPage'); $this->articleManagerPage->addArticle($articleName, 'Uncategorised', array('text' => '<p>This is a test.</p>')); $articleId = $this->articleManagerPage->getFieldValues('ArticleEditPage', $articleName, array('ID')); $articleUrl = $this->cfg->host . $this->cfg->path . 'index.php/' . $articleId[0] . '-test-article-' . $salt; $this->driver->get($articleUrl); $singleArticlePage = $this->getPageObject('SiteSingleArticlePage', true, $articleUrl); $this->assertTrue($singleArticlePage->isArticlePresent($articleName), 'Test Article Must be Present'); $this->doAdminLogin(); $articleManager = 'administrator/index.php?option=com_content'; $this->driver->get($cfg->host . $cfg->path . $articleManager); $this->articleManagerPage = $this->getPageObject('ArticleManagerPage'); $this->articleManagerPage->changeArticleState($articleName, 'unpublished'); $this->assertEquals('unpublished', $this->articleManagerPage->getState($articleName), 'Test Article should be unpublished'); $this->driver->get($articleUrl); $singleArticlePage = $this->getPageObject('SiteSingleArticlePage', true, $articleUrl); $this->assertFalse($singleArticlePage->isArticlePresent($articleName), 'Test Article Must not be Present'); $this->doSiteLogin(); $this->driver->get($articleUrl); $singleArticlePage = $this->getPageObject('SiteSingleArticlePage', true, $articleUrl); $this->assertTrue($singleArticlePage->isEditPresent(), 'Edit Icons Must be Present'); $this->doSiteLogout(); $cpPage = $this->doAdminLogin(); $this->articleManagerPage = $cpPage->clickMenu('Article Manager', 'ArticleManagerPage'); $this->articleManagerPage = $this->getPageObject('ArticleManagerPage'); $this->articleManagerPage->changeArticleState($articleName, 'published'); $this->assertEquals('published', $this->articleManagerPage->getState($articleName), 'Test Article should be published'); $this->driver->get($articleUrl); $singleArticlePage = $this->getPageObject('SiteSingleArticlePage', true, $articleUrl); $this->assertTrue($singleArticlePage->isArticlePresent($articleName), 'Test Article Must be Present'); $this->driver->get($cfg->host . $cfg->path . $articleManager); $this->articleManagerPage = $this->getPageObject('ArticleManagerPage'); $this->articleManagerPage->changeArticleState($articleName, 'archived'); $this->assertEquals('archived', $this->articleManagerPage->getState($articleName), 'Test Article should be archived'); $this->driver->get($articleUrl); $singleArticlePage = $this->getPageObject('SiteSingleArticlePage', true, $articleUrl); $this->assertTrue($singleArticlePage->isArticlePresent($articleName), 'Test Article Must be Present'); $this->driver->get($cfg->host . $cfg->path . $articleManager); $this->articleManagerPage = $this->getPageObject('ArticleManagerPage'); $this->articleManagerPage->trashAndDelete($articleName); $this->driver->get($articleUrl); $singleArticlePage = $this->getPageObject('SiteSingleArticlePage', true, $articleUrl); $this->assertFalse($singleArticlePage->isArticlePresent($articleName), 'Test Article Must not be Present'); }
/** * @test */ public function editArticle_ChangeFields_FieldsChanged() { $salt = rand(); $articleName = 'ABC' . $salt; $category = 'Joomla!'; $caption = 'Testing'; $alt_text = 'Alternate Testing'; $this->articleManagerPage = $this->getPageObject('ArticleManagerPage'); $this->assertFalse($this->articleManagerPage->getRowNumber($articleName), 'Test Article should not be present'); $this->articleManagerPage->addArticle($articleName); $this->articleManagerPage->editArticle($articleName, array('Category' => $category, 'Alt text' => $alt_text, 'Caption' => $caption)); $values = $this->articleManagerPage->getFieldValues('ArticleEditPage', $articleName, array('Caption', 'Alt text')); $this->assertEquals(array($caption, $alt_text), $values, 'Actual values should match expected'); $this->articleManagerPage->trashAndDelete($articleName); }