diff options
author | Johann-S <johann.servoire@gmail.com> | 2017-09-28 15:55:15 +0300 |
---|---|---|
committer | XhmikosR <xhmikosr@gmail.com> | 2017-09-29 19:39:25 +0300 |
commit | 210bb221a8905e0482f939a7e03256de701a60c7 (patch) | |
tree | 8567d4158970d13ccfe58ce2e71736159830a21a /build | |
parent | 502ac7ee4d13669e644b9181f1e014ce0ea1f089 (diff) |
Use jsunitsaucelabs to run our unit tests on Saucelabs
Diffstat (limited to 'build')
-rw-r--r-- | build/saucelabs-unit-test.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/build/saucelabs-unit-test.js b/build/saucelabs-unit-test.js new file mode 100644 index 0000000000..76576128ee --- /dev/null +++ b/build/saucelabs-unit-test.js @@ -0,0 +1,48 @@ +const JSUnitSaucelabs = require('jsunitsaucelabs') + +var jsUnitSaucelabs = new JSUnitSaucelabs({ + username: process.env.SAUCE_USERNAME, + password: process.env.SAUCE_ACCESS_KEY +}) + + +// TODO : get all the browsers in sauce_browsers.yml + +var testURL = 'http://localhost:3000/js/tests/index.html?hidepassed' +jsUnitSaucelabs.start([ + ['Windows 8', 'internet explorer', '10'] +], testURL, 'qunit', function (error, success) { + if (typeof success !== 'undefined') { + var taskIds = success['js tests'] + if (!taskIds || !taskIds.length) { + throw new Error('Error starting tests through SauceLabs API') + } + + var waitingCallback = function (error, success) { + if (error) { + console.error(error) + return + } + + if (typeof success !== 'undefined') { + if (!success.completed) { + jsUnitSaucelabs.getStatus(taskIds[0], waitingCallback) + } else { + var test = success['js tests'][0] + var passed = false + if (test.result !== null) { + passed = test.result.total === test.result.passed + } + console.log('Tested ' + testURL) + console.log('Platform: ' + test.platform.join(',')) + console.log('Passed: ' + passed.toString()) + console.log('Url ' + test.url) + } + } + } + + taskIds.forEach(function (id) { + jsUnitSaucelabs.getStatus(id, waitingCallback) + }) + } +}) |