Skip to content

Commit

Permalink
Run functional tests on travis (#611)
Browse files Browse the repository at this point in the history
  • Loading branch information
durran authored and pzrq committed Nov 22, 2016
1 parent c54c43c commit ed868af
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 32 deletions.
8 changes: 7 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ addons:
- g++-4.8
- libkrb5-dev
- libgnome-keyring-dev
script: npm run ci
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- npm run check
script: npm run test
after_script:
- ps -ax
cache:
directories:
- node_modules
17 changes: 9 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,11 @@
},
"scripts": {
"start": "hadron-build develop",
"pretest": "mongodb-runner install",
"test": "xvfb-maybe hadron-build test",
"pretest": "mongodb-runner install && mongodb-runner start --topology=standalone --port 27018",
"test": "hadron-build test",
"posttest": "mongodb-runner stop --topology=standalone --port 27018",
"check": "mongodb-js-precommit ./src/app/*.js ./src/app/**/**/*.js ./src/{app/**/*.js,main/**/*.js} ./test/*.js ./src/internal-packages/**/*.js ./src/internal-packages/**/**/*{.js,.jsx} ./src/internal-packages/**/**/**/*{.js,.jsx} ./src/internal-packages/**/**/**/**/*{.js,.jsx}",
"ci": "npm run check && npm run test-unit",
"ci": "npm run check && npm run test",
"clean": "hadron-build clean",
"compile-ui": "hadron-build ui",
"fmt": "mongodb-js-fmt ./*.js src/{**/*.js,*.js} test/{**/*.js,*.js}",
Expand Down Expand Up @@ -103,16 +104,16 @@
"font-awesome": "https://github.com/FortAwesome/Font-Awesome/archive/v4.4.0.tar.gz",
"get-object-path": "azer/get-object-path#74eb42de0cfd02c14ffdd18552f295aba723d394",
"hadron-action": "^0.1.0",
"hadron-app-registry": "^3.2.0",
"hadron-app-registry": "^3.3.0",
"hadron-auto-update-manager": "^0.0.12",
"hadron-compile-cache": "^0.3.0",
"hadron-document": "^0.28.0",
"hadron-document": "^0.29.0",
"hadron-ipc": "^0.0.7",
"hadron-module-cache": "^0.0.3",
"hadron-package-manager": "0.2.0",
"hadron-reflux-store": "^0.0.2",
"hadron-style-manager": "0.0.1",
"hadron-type-checker": "^0.13.0",
"hadron-type-checker": "^0.15.0",
"highlight.js": "^8.9.1",
"jquery": "^2.1.4",
"keytar": "3.0.2",
Expand Down Expand Up @@ -169,9 +170,9 @@
"eslint-config-mongodb-js": "^2.2.0",
"hadron-build": "^2.0.1",
"jsdom": "^9.8.3",
"mocha": "^2.3.4",
"mocha": "^3.1.2",
"mongodb-js-precommit": "^0.2.9",
"mongodb-runner": "^3.2.0",
"mongodb-runner": "^3.4.0",
"react-addons-test-utils": "^15.2.1",
"sinon": "^1.17.6",
"spectron": "^3.2.6",
Expand Down
29 changes: 12 additions & 17 deletions test/compass-functional.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,29 +24,24 @@ describe('Compass #spectron', function() {
var app = null;
var client = null;

before(function(done) {
SpectronSupport.startApplication().then(function(application) {
app = application;
client = application.client;
done();
});
});

after(function(done) {
SpectronSupport.stopApplication(app);
done();
});

context('when working with the application', function() {
before(require('mongodb-runner/mocha/before')({ port: 27018 }));

before(function(done) {
CrudSupport.insertMany(CONNECTION, COLLECTION, DOCUMENTS, done);
SpectronSupport.startApplication().then(function(application) {
app = application;
client = application.client;
done();
});
});

after(require('mongodb-runner/mocha/after')());
after(function() {
SpectronSupport.stopApplication(app);
});

context('when opening the application', function() {
before(function(done) {
CrudSupport.insertMany(CONNECTION, COLLECTION, DOCUMENTS, done);
});

it('renders the connect window', function() {
return client.
waitForVisible('select[name=authentication]', 60000).
Expand Down
11 changes: 5 additions & 6 deletions test/support/spectron-support.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const format = require('util').format;
const path = require('path');
const electronPrebuilt = require('electron-prebuilt');
const Application = require('spectron').Application;
const debug = require('debug')('mongodb-test-utils:spectron-support');

chai.use(chaiAsPromised);

Expand Down Expand Up @@ -64,10 +63,10 @@ function startApplication(distDir) {
* afterEach(helpers.startApplication);
*/
function stopApplication(app) {
if (app && app.isRunning()) {
debug('Stopping Spectron Application');
return app.stop();
} else return;
if (!app || !app.isRunning()) return;
return app.stop().then(function() {
assert.equal(app.isRunning(), false);
})
};

/**
Expand Down Expand Up @@ -162,7 +161,7 @@ function addCommands(client) {
* Wait for the connect window to redirect after successful connection.
*/
client.addCommand('waitForSchemaWindow', function() {
return this.waitForVisible('.compass-sidebar-container');
return this.waitForVisible('.compass-sidebar-container', 30000);
});

/**
Expand Down

0 comments on commit ed868af

Please sign in to comment.