mediawiki-skins-MinervaNeue/tests/selenium/features/step_definitions/watch_steps.js
Vaughn Walters 677ce50b24 selenium: Refactor WebdriverIO tests from sync to async mode
WebdriverIO has dropped support of sync mode, hence changed to async.

Update npm packages: @wdio/*, wdio-mediawiki
because async mode needs at least @wdio v7.9.

Remove npm packages: @wdio/dot-reporter and @wdio/sync.

Bug: T293084
Change-Id: I5babbdadf21e9f951f69de93bfca5213a50965aa
2023-04-08 16:18:28 -05:00

33 lines
1.1 KiB
JavaScript

'use strict';
const assert = require( 'assert' );
const { ArticlePage } = require( '../support/world.js' );
const theWatchstarShouldNotBeSelected = () => {
ArticlePage.watch_element.waitForExist();
assert.strictEqual( ArticlePage.watched_element.isExisting(), false,
'the watched element should not be present' );
};
const theWatchstarShouldBeSelected = async () => {
await ArticlePage.watched_element.waitForExist();
const watchstar = await ArticlePage.watched_element;
assert.strictEqual( await watchstar.isDisplayed(), true );
};
const iClickTheWatchstar = async () => {
await ArticlePage.waitUntilResourceLoaderModuleReady( 'skins.minerva.scripts' );
await ArticlePage.watch_element.waitForExist();
await ArticlePage.watch_element.click();
};
const iClickTheUnwatchStar = () => {
ArticlePage.waitUntilResourceLoaderModuleReady( 'skins.minerva.scripts' );
ArticlePage.watched_element.waitForExist();
ArticlePage.watched_element.click();
};
module.exports = {
theWatchstarShouldNotBeSelected, theWatchstarShouldBeSelected,
iClickTheWatchstar, iClickTheUnwatchStar };