add jobs portal relaunch test

This commit is contained in:
Jake McDermott
2018-07-27 00:55:06 -04:00
parent 61d1cb46ac
commit 9e71760af7
7 changed files with 88 additions and 5 deletions

View File

@@ -0,0 +1,13 @@
module.exports = {
url () {
return `${this.api.globals.launch_url}/#/portal/myjobs`;
},
sections: {},
elements: {},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
};

View File

@@ -0,0 +1,69 @@
import {
getJob,
getJobTemplateAdmin
} from '../fixtures';
let data;
module.exports = {
before: (client, done) => {
const resources = [
getJobTemplateAdmin('test-actions'),
getJob('test-actions'),
];
Promise.all(resources)
.then(([admin, job]) => {
data = { admin, job };
client.login(data.admin.username);
client.waitForAngular();
done();
});
},
'relaunch a job from the \'all jobs\' list': client => {
const portal = client.page.portal();
const allJobsButton = '#all-jobs-btn';
const relaunch = `#job-${data.job.id} i[class*="launch"]`;
const search = '#portal-container-jobs smart-search input';
const spinny = 'div.spinny';
portal.load();
portal.expect.element(allJobsButton).visible;
portal.expect.element(allJobsButton).enabled;
portal.click(allJobsButton);
portal.waitForElementVisible(spinny);
portal.waitForElementNotVisible(spinny);
const query = `id:>${data.job.id - 1} id:<${data.job.id + 1}`;
portal.expect.element(search).visible;
portal.expect.element(search).enabled;
portal.sendKeys(search, query);
portal.sendKeys(search, client.Keys.ENTER);
portal.waitForElementVisible(spinny);
portal.waitForElementNotVisible(spinny);
portal.expect.element(relaunch).visible;
portal.expect.element(relaunch).enabled;
portal.click(relaunch);
portal.waitForElementVisible(spinny);
portal.waitForElementNotVisible(spinny);
const jobDetails = 'at-job-details';
const output = './/span[normalize-space(text())=\'"msg": "Hello World!"\']';
client.waitForElementVisible(jobDetails, 10000);
client.useXpath();
client.waitForElementVisible(output, 60000);
client.useCss();
client.end();
}
};