2 const assert
= require( 'assert' ),
3 DeletePage
= require( '../pageobjects/delete.page' ),
4 RestorePage
= require( '../pageobjects/restore.page' ),
5 EditPage
= require( '../pageobjects/edit.page' ),
6 HistoryPage
= require( '../pageobjects/history.page' ),
7 UserLoginPage
= require( '../pageobjects/userlogin.page' );
9 describe( 'Page', function () {
14 function getTestString() {
15 return Math
.random().toString() + '-öäü-♠♣♥♦';
19 // disable VisualEditor welcome dialog
21 browser
.localStorage( 'POST', { key
: 've-beta-welcome-dialog', value
: '1' } );
24 beforeEach( function () {
25 browser
.deleteCookie();
26 content
= getTestString();
27 name
= getTestString();
30 // Disable due to broken/flakiness (T247580)
31 it
.skip( 'should be creatable', function () {
34 EditPage
.edit( name
, content
);
37 assert
.equal( EditPage
.heading
.getText(), name
);
38 assert
.equal( EditPage
.displayedContent
.getText(), content
);
42 // Disable due to broken/flakiness (T247580)
43 it
.skip( 'should be re-creatable', function () {
44 let initialContent
= getTestString();
47 browser
.call( function () {
48 return EditPage
.apiEdit( name
, initialContent
);
52 browser
.call( function () {
53 return DeletePage
.apiDelete( name
, 'delete prior to recreate' );
57 EditPage
.edit( name
, content
);
60 assert
.equal( EditPage
.heading
.getText(), name
);
61 assert
.equal( EditPage
.displayedContent
.getText(), content
);
65 // Disable due to broken/flakiness (T247580)
66 it
.skip( 'should be editable', function () {
69 browser
.call( function () {
70 return EditPage
.apiEdit( name
, content
);
74 EditPage
.edit( name
, content
);
77 assert
.equal( EditPage
.heading
.getText(), name
);
78 assert
.equal( EditPage
.displayedContent
.getText(), content
);
82 it( 'should have history', function () {
85 browser
.call( function () {
86 return EditPage
.apiEdit( name
, content
);
90 HistoryPage
.open( name
);
91 assert
.equal( HistoryPage
.comment
.getText(), `(Created page with "${content}")` );
95 // Disable due to broken/flakiness (T247580)
96 it
.skip( 'should be deletable', function () {
99 UserLoginPage
.loginAdmin();
102 browser
.call( function () {
103 return EditPage
.apiEdit( name
, content
);
107 DeletePage
.delete( name
, content
+ '-deletereason' );
111 DeletePage
.displayedContent
.getText(),
112 '"' + name
+ '" has been deleted. See deletion log for a record of recent deletions.\nReturn to Main Page.'
117 // Disable due to broken/flakiness (T247580)
118 it
.skip( 'should be restorable', function () {
121 UserLoginPage
.loginAdmin();
124 browser
.call( function () {
125 return EditPage
.apiEdit( name
, content
);
129 browser
.call( function () {
130 return DeletePage
.apiDelete( name
, content
+ '-deletereason' );
134 RestorePage
.restore( name
, content
+ '-restorereason' );
137 assert
.equal( RestorePage
.displayedContent
.getText(), name
+ ' has been restored\nConsult the deletion log for a record of recent deletions and restorations.' );