From: addshore Date: Sat, 13 Jan 2018 12:56:46 +0000 (+0000) Subject: selenium: add deletion test to page spec X-Git-Tag: 1.31.0-rc.0~834^2 X-Git-Url: http://git.cyclocoop.org/data/modifier.php?a=commitdiff_plain;h=52c7dc56df97e7ee4b17090c51f8038fea64236a;p=lhc%2Fweb%2Fwiklou.git selenium: add deletion test to page spec Change-Id: Ia17b52958778a09378eeb10c9f24ebe9229bd9f5 --- diff --git a/tests/selenium/pageobjects/delete.page.js b/tests/selenium/pageobjects/delete.page.js new file mode 100644 index 0000000000..bb095bb3d1 --- /dev/null +++ b/tests/selenium/pageobjects/delete.page.js @@ -0,0 +1,22 @@ +'use strict'; +const Page = require( './page' ); + +class DeletePage extends Page { + + get reason() { return browser.element( '#wpReason' ); } + get watch() { return browser.element( '#wpWatch' ); } + get submit() { return browser.element( '#wpConfirmB' ); } + get displayedContent() { return browser.element( '#mw-content-text' ); } + + open( name ) { + super.open( name + '&action=delete' ); + } + + delete( name, reason ) { + this.open( name ); + this.reason.setValue( reason ); + this.submit.click(); + } + +} +module.exports = new DeletePage(); diff --git a/tests/selenium/pageobjects/userlogin.page.js b/tests/selenium/pageobjects/userlogin.page.js index bdbd41bc9d..0061d0c258 100644 --- a/tests/selenium/pageobjects/userlogin.page.js +++ b/tests/selenium/pageobjects/userlogin.page.js @@ -19,5 +19,9 @@ class UserLoginPage extends Page { this.loginButton.click(); } + loginAdmin() { + this.login( browser.options.username, browser.options.password ); + } + } module.exports = new UserLoginPage(); diff --git a/tests/selenium/specs/page.js b/tests/selenium/specs/page.js index e59da78a55..4ec94eb38f 100644 --- a/tests/selenium/specs/page.js +++ b/tests/selenium/specs/page.js @@ -1,5 +1,6 @@ 'use strict'; const assert = require( 'assert' ), + DeletePage = require( '../pageobjects/delete.page' ), EditPage = require( '../pageobjects/edit.page' ), HistoryPage = require( '../pageobjects/history.page' ), UserLoginPage = require( '../pageobjects/userlogin.page' ); @@ -65,4 +66,25 @@ describe( 'Page', function () { } ); + it( 'should be deletable', function () { + + // login + UserLoginPage.loginAdmin(); + + // create + browser.call( function () { + return EditPage.apiEdit( name, content ); + } ); + + // delete + DeletePage.delete( name, content + '-deletereason' ); + + // check + assert.equal( + DeletePage.displayedContent.getText(), + '"' + name + '" has been deleted. See deletion log for a record of recent deletions.\nReturn to Main Page.' + ); + + } ); + } );