MinervaNeue/tests/selenium/features/step_definitions/editor_steps.js

71 lines
2.3 KiB
JavaScript

const assert = require( 'assert' );
const { ArticlePageWithEditorOverlay, ArticlePage } = require( '../support/world.js' );
const iClickTheEditButton = () => {
ArticlePage.edit_link_element.waitForVisible();
ArticlePage.edit_link_element.click();
};
const iSeeTheWikitextEditorOverlay = () => {
ArticlePageWithEditorOverlay.editor_overlay_element.waitForVisible();
ArticlePageWithEditorOverlay.editor_textarea_element.waitForExist();
};
const iClearTheEditor = () => {
ArticlePageWithEditorOverlay.editor_textarea_element.setValue( '' );
};
const iDoNotSeeTheWikitextEditorOverlay = () => {
browser.waitUntil( () => {
return ArticlePageWithEditorOverlay.editor_overlay_element.isVisible() === false;
}, 10000 );
};
const iTypeIntoTheEditor = ( text ) => {
ArticlePageWithEditorOverlay.editor_overlay_element.waitForExist();
ArticlePageWithEditorOverlay.editor_textarea_element.waitForExist();
ArticlePageWithEditorOverlay.editor_textarea_element.waitForVisible();
ArticlePageWithEditorOverlay.editor_textarea_element.addValue( text );
browser.waitUntil( () => {
return !ArticlePageWithEditorOverlay
.continue_element.getAttribute( 'disabled' );
} );
};
const iClickContinue = () => {
ArticlePageWithEditorOverlay.continue_element.waitForExist();
ArticlePageWithEditorOverlay.continue_element.click();
};
const iClickSubmit = () => {
ArticlePageWithEditorOverlay.submit_element.waitForExist();
ArticlePageWithEditorOverlay.submit_element.click();
};
const iSayOkayInTheConfirmDialog = () => {
browser.waitUntil( () => {
try {
const text = browser.alertText;
return text && true;
} catch ( e ) {
return false;
}
}, 2000 );
browser.alertAccept();
};
const theTextOfTheFirstHeadingShouldBe = ( title ) => {
ArticlePage.first_heading_element.waitForVisible();
assert.strictEqual(
ArticlePage.first_heading_element.getText(),
title
);
};
const thereShouldBeARedLinkWithText = ( text ) => {
ArticlePage.red_link_element.waitForExist();
assert.strictEqual(
ArticlePage.red_link_element.getText(),
text
);
};
module.exports = {
iClickTheEditButton, iSeeTheWikitextEditorOverlay, iClearTheEditor,
thereShouldBeARedLinkWithText,
iDoNotSeeTheWikitextEditorOverlay,
iTypeIntoTheEditor, iClickContinue, iClickSubmit, iSayOkayInTheConfirmDialog,
theTextOfTheFirstHeadingShouldBe
};