Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

Commit

Permalink
Merge pull request #275 from aldryn/feature/integration-tests
Browse files Browse the repository at this point in the history
Added article deletion test
  • Loading branch information
Marketionist committed Jul 17, 2015
2 parents a624592 + 926b4d8 commit 10f71db
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ var newsBlogPage = {
newsBlogMetaBlock: element(by.css('.aldryn-newsblog-meta')),
articleLink: element(by.css('.aldryn-newsblog-list h2 > a')),

// deleting article
deleteButton: element(by.css('.deletelink-box a')),
sidebarConfirmationButton: element(by.css('#content [type="submit"]')),

cmsLogin: function (credentials) {
// object can contain username and password, if not set it will
// fallback to 'admin'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
var newsBlogPage = require('../pages/page.newsblog.crud.js');

describe('Aldryn Newsblog tests: ', function () {
// create random article name
var articleName = 'Test article ' + (Math.floor(Math.random() * 10001));

it('logs in to the site with valid username and password', function () {
// go to the main page
browser.get(newsBlogPage.site);
Expand Down Expand Up @@ -189,10 +192,6 @@ describe('Aldryn Newsblog tests: ', function () {
return browser.isElementPresent(newsBlogPage.titleInput);
}, newsBlogPage.mainElementsWaitTime);

// create random article name
var articleName = 'Test article ' +
(Math.floor(Math.random() * 10001));

newsBlogPage.titleInput.sendKeys(articleName);
}).then(function () {
browser.actions().mouseMove(newsBlogPage.saveAndContinueButton)
Expand Down Expand Up @@ -279,4 +278,71 @@ describe('Aldryn Newsblog tests: ', function () {
});
});

it('deletes article', function () {
// wait for modal iframe to appear
browser.wait(function () {
return browser.isElementPresent(newsBlogPage.sideMenuIframe);
}, newsBlogPage.iframeWaitTime);

// switch to sidebar menu iframe
browser.switchTo()
.frame(browser.findElement(By.css('.cms_sideframe-frame iframe')));

// wait for edit event link to appear
browser.wait(function () {
return browser.isElementPresent(newsBlogPage.editArticleLinks.first());
}, newsBlogPage.mainElementsWaitTime);

// validate edit article links texts to delete proper article
newsBlogPage.editArticleLinks.first().getText().then(function (text) {
if (text === articleName) {
newsBlogPage.editArticleLinks.first().click();
} else {
newsBlogPage.editArticleLinks.get(1).getText()
.then(function (text) {
if (text === articleName) {
newsBlogPage.editArticleLinks.get(1).click();
} else {
newsBlogPage.editArticleLinks.get(2).getText()
.then(function (text) {
if (text === articleName) {
newsBlogPage.editArticleLinks.get(2).click();
}
});
}
});
}
}).then(function () {
// wait for delete button to appear
browser.wait(function () {
return browser.isElementPresent(newsBlogPage.deleteButton);
}, newsBlogPage.mainElementsWaitTime);

browser.actions().mouseMove(newsBlogPage.saveAndContinueButton)
.perform();
newsBlogPage.deleteButton.click();
}).then(function () {
// wait for confirmation button to appear
browser.wait(function () {
return browser.isElementPresent(newsBlogPage.sidebarConfirmationButton);
}, newsBlogPage.mainElementsWaitTime);

newsBlogPage.sidebarConfirmationButton.click();

browser.wait(function () {
return browser.isElementPresent(newsBlogPage.successNotification);
}, newsBlogPage.mainElementsWaitTime);

// validate success notification
expect(newsBlogPage.successNotification.isDisplayed())
.toBeTruthy();

// switch to default page content
browser.switchTo().defaultContent();

// refresh the page to see changes
browser.refresh();
});
});

});

0 comments on commit 10f71db

Please sign in to comment.