mirror of
https://github.com/silkimen/cordova-plugin-advanced-http.git
synced 2026-01-31 00:00:03 +08:00
72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
require('./helpers/setup');
|
|
|
|
const wd = require('wd');
|
|
const apps = require('./helpers/apps');
|
|
const caps = Object.assign({}, require('./helpers/caps'));
|
|
const serverConfig = require('./helpers/server');
|
|
const testDefinitions = require('../test-definitions');
|
|
|
|
describe('Advanced HTTP', function() {
|
|
let driver;
|
|
let allPassed = true;
|
|
|
|
this.timeout(300000);
|
|
|
|
const getCaps = appName => {
|
|
const isDevice = process.argv.includes('--device');
|
|
const isAndroid = process.argv.includes('--android');
|
|
const desiredCaps = caps[(isAndroid ? 'android' : 'ios') + (isDevice ? 'Device' : 'Emulator')];
|
|
const desiredApp = apps[(isAndroid ? 'android' : 'ios') + appName];
|
|
|
|
desiredCaps.app = desiredApp;
|
|
|
|
return desiredCaps;
|
|
};
|
|
|
|
const validateTestIndex = number => driver
|
|
.elementById('descriptionLbl')
|
|
.text()
|
|
.then(text => parseInt(text.match(/(\d):/)[1], 10))
|
|
.should.eventually.become(number);
|
|
|
|
const validateTestTitle = testTitle => driver
|
|
.elementById('descriptionLbl')
|
|
.text()
|
|
.then(text => text.match(/\d:\ (.*)/)[1])
|
|
.should.eventually.become(testTitle);
|
|
|
|
const validateResult = text => driver
|
|
.elementById('resultTextarea')
|
|
.getAttribute('value')
|
|
.should.eventually.include(text);
|
|
|
|
const clickNext = () => driver
|
|
.elementById('nextBtn')
|
|
.click()
|
|
.sleep(1000);
|
|
|
|
before(() => {
|
|
driver = wd.promiseChainRemote(serverConfig);
|
|
require('./helpers/logging').configure(driver);
|
|
|
|
return driver.init(getCaps('TestApp'));
|
|
});
|
|
|
|
after(() => driver
|
|
.quit()
|
|
.finally(function () {
|
|
if (process.env.SAUCE_USERNAME) {
|
|
return driver.sauceJobStatus(allPassed);
|
|
}
|
|
}));
|
|
|
|
testDefinitions.forEach((definition, index) => {
|
|
it(definition.description, function() {
|
|
return clickNext()
|
|
.then(() => validateTestIndex(index))
|
|
.then(() => validateTestTitle(this.test.title))
|
|
.then(() => validateResult(definition.expected))
|
|
});
|
|
});
|
|
});
|