picluster/web/tests/integration/nodes.js

49 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2021-08-25 08:44:55 -06:00
/* eslint-env phantomjs,browser */
/* eslint-disable func-names */
/* global casper */
casper.options.waitTimeout = 20000;
casper.test.begin('nodes-list.html', 2, test => {
const URL = casper.cli.get('url');
const username = casper.cli.get('username');
const password = casper.cli.get('password');
const flLinux = casper.cli.get('font-linux');
casper.start(URL);
casper.viewport(1920, 1080).then(function Viewport() {
const lib = require('../lib')(this);
lib.doLogin(username, password);
this.evaluate(() => {
document.querySelectorAll('nav>ul>li')[1].querySelectorAll('li>a')[1].click();
});
const iframe = this.evaluate(() => {
const iframes = document.getElementsByTagName('iframe');
return iframes[0].src;
});
this.page.switchToChildFrame(0);
test.assertEquals(iframe, URL + '/nodes-list.html', 'The iframes source should equal ' + URL + '/nodes-list.html');
if (lib.getCasperEngine() === 'slimerjs') {
this.waitForSelector('.node_status_logo', function () {
const fontLinux = this.evaluate(() => {
return document.querySelector('.node_status_logo').className.substring(0, 9);
});
test.assertEquals(fontLinux, flLinux, 'The distro icon should be \'' + flLinux + '\'; is ' + fontLinux);
casper.test.done();
});
} else {
test.skip(1, 'Skipping distro icon test as this does not run under ' + lib.getCasperEngine());
casper.test.done();
}
});
casper.run();
});