// Example code for Selenium/Explanation/Stack
// https://www.mediawiki.org/wiki/Selenium/Explanation/Stack

'use strict';

// baseUrl is required for our continuous integration.
// If you don't have MW_SERVER and MW_SCRIPT_PATH environment variables set
// you can probably hardcode it to something like this:
// const baseUrl = 'http://localhost:8080/wiki/';
const baseUrl = `${ process.env.MW_SERVER }${ process.env.MW_SCRIPT_PATH }/index.php?title=`;

const { remote } = require( 'webdriverio' );

( async () => {
	const browser = await remote( {
		capabilities: {
			browserName: 'chrome',
			'goog:chromeOptions': {
				args: [ 'headless' ]
			}
		}
	} );

	await browser.url( `${ baseUrl }Main_Page` );

	const displayed = await browser.$( 'li#pt-login-2 a' ).isDisplayed();
	if ( displayed === false ) {
		throw new Error( 'Log in link not visible' );
	} else {
		console.log( 'Log in link visible' );
	}
	await browser.deleteSession();
} )();
