Skip to content

Commit

Permalink
configured gruntfile
Browse files Browse the repository at this point in the history
  • Loading branch information
Nathan Boyd committed May 12, 2015
1 parent 0104a6e commit 8373a03
Show file tree
Hide file tree
Showing 7 changed files with 102 additions and 100 deletions.
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ node_js:
- "0.10"
os:
- linux
- osx
before_install: npm install grunt-cli grunt-env grunt-concurrent
before_script: chmod 0777 ./node_modules/.bin/mocha
after_script: grunt test:sauce:parallel
after_script: grunt test:browser
after_script: istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage
26 changes: 11 additions & 15 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,25 @@

var _ = require('lodash');

var desireds = require('./desireds');
var desireds = require('./test/browser/browserTestConfig');

var gruntConfig = {
env: {
// dynamically filled
},
concurrent: {
'test-sauce': []
'test-browser': []
},
jshint: {
files: ['lib/*', 'test/*', '*.jsg'],
options: {
jshintrc: '.jshintrc'
}
},
/* jshint camelcase:false */
mocha_istanbul: {
coverage: {
'src': 'test/test.js'
src: ['test/*.js']
}
},
mochaTest: {
Expand All @@ -29,14 +30,14 @@ var gruntConfig = {
quiet: false,
clearRequireCache: true
},
src: ['test/test.js']
src: ['test/*.js']
},
sauce: {
browser: {
options: {
timeout: 60000,
reporter: 'spec'
},
src: ['test/browserTest.js']
src: ['test/browser/*.js']
}
},
watch: {
Expand All @@ -49,7 +50,7 @@ _.forIn(desireds, function (desired, key) {
gruntConfig.env[key] = {
DESIRED: JSON.stringify(desired)
};
gruntConfig.concurrent['test-sauce'].push('test:sauce:' + key);
gruntConfig.concurrent['test-browser'].push('test:browser:' + key);
});

module.exports = function (grunt) {
Expand All @@ -66,19 +67,14 @@ module.exports = function (grunt) {

grunt.registerTask('cover', ['mocha_istanbul']);
grunt.registerTask('lint', ['jshint']);
grunt.registerTask('test', ['mochaTest']);
grunt.registerTask('test:sauce:parallel', ['concurrent:test-sauce']);
grunt.registerTask('test', ['mochaTest:test']);
grunt.registerTask('test:browser', ['concurrent:test-browser']);

grunt.registerTask('default', ['jshint', 'cover']);

//grunt.registerTask('default', ['test:sauce:' + _(desireds).keys().first()]);

_.forIn(desireds, function (desired, key) {
grunt.registerTask('test:sauce:' + key, ['env:' + key, 'mochaTest:sauce']);
grunt.registerTask('test:browser:' + key, ['env:' + key, 'mochaTest:browser']);
});



};


11 changes: 0 additions & 11 deletions desireds.js

This file was deleted.

72 changes: 72 additions & 0 deletions test/browser/browserTest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
'use strict';

/*global describe, after, afterEach, before*/

var chai = require('chai');
chai.expect();
chai.should();

var wd = require('wd');
var chaiAsPromised = require("chai-as-promised");

chai.use(chaiAsPromised);
chaiAsPromised.transferPromiseness = wd.transferPromiseness;

if (!process.env.SAUCE_USERNAME) {
throw new Error("Missing sauce user name");
}

if (!process.env.SAUCE_ACCESS_KEY) {
throw new Error("Missing sauce access key");
}

if (!process.env.DESIRED){
throw new Error("Missing desired env var");
}

var desired = JSON.parse(process.env.DESIRED);

wd.configureHttp({
timeout: 60000,
retryDelay: 15000,
retries: 5
});

describe('browser test ' + desired.browserName, function () {

var browser;
var allPassed = true;

before(function (done) {
var username = process.env.SAUCE_USERNAME;
var accessKey = process.env.SAUCE_ACCESS_KEY;
browser = wd.promiseChainRemote("ondemand.saucelabs.com", 80, username, accessKey);

if (process.env.VERBOSE) {
browser.on('status', function (info) {
console.log(info.cyan);
});

browser.on('command', function (meth, path, data) {
console.log(' > ' + meth.yellow, path.grey, data || '');
});
}
browser
.init(desired)
.nodeify(done);
});

afterEach(function (done) {
allPassed = allPassed && (this.currentTest.state === 'passed');
done();
});

after(function (done) {
browser
.quit()
.sauceJobStatus(allPassed)
.nodeify(done);
});

require('../test');
});
17 changes: 17 additions & 0 deletions test/browser/browserTestConfig.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
module.exports = {
"chrome": {
"browserName": "chrome",
"visibility": "public",
"build":1
},
"firefox": {
"browserName": "firefox",
"visibility": "public",
"build":1
},
"explorer": {
"browserName": "internet explorer",
"visibility": "public",
"build":1
}
};
71 changes: 0 additions & 71 deletions test/browserTest.js

This file was deleted.

2 changes: 1 addition & 1 deletion test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var reportGenerator = require('../lib/report-generator');

describe('report generator', function () {

var testReportName = 'testReport.html';
var testReportName = 'results/testReport.html';

var generator = new reportGenerator(testReportName, ['foo'], function (err) {
assert(err === null);
Expand Down

0 comments on commit 8373a03

Please sign in to comment.