0.1.1 • Published 8 years ago

start-meteor-server v0.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

start-meteor-server

Build Status npm version

npm module to start a meteor server from code (perfect for acceptance testing)

Inspired by spacejam but not coffeescript (thank f***) and more generic.

example usage

// globals_module.js (nightwatch.js example)
MeteorServer = require('start-meteor-server').MeteorServer;

var meteorServer = new MeteorServer({
  logLevel: 'debug', // info by default
  // logger: logger // pass your own logger if you have one :)
  'mongo-url': 'mongodb://localhost:27017/acceptance_tests', // optional (use existing mongodb if one running, otherwise one is started for you)
  port: 5000
});

module.exports = {
  abortOnAssertionFailure : true,
  waitForConditionPollInterval : 300,
  waitForConditionTimeout : 5000,
  throwOnMultipleElementsReturned : true,
  asyncHookTimeout : 10000,
  'default': {
    isLocal: true
  },

  'staging': {
    isLocal: false,
    beforeEach: function() {}
  },

  // Setup - start server and set up fixture data
  before: function(done) {
    // run this only for local environments
    if (this.isLocal) {
      // start the local server
      console.log('starting meteor server');
      meteorServer.startMeteor();
      meteorServer.on('ready', () => {
        console.log('started meteor server');
        done();
      });
    } else {
      done();
    }
  },

  // Teardown - delete all data, stop server
  after: function(done) {
    // run this only for local environments
    if (this.isLocal) {
      // start the local server
      console.log('stopping meteor server');
      meteorServer.kill();
      meteorServer.on('killed', () => {
        console.log('stopped meteor server');
        done();
      });
    } else {
      done();
    }
    done();
  },

  beforeEach: function(browser, done) { done(); },
  afterEach: function(browser, done) { done(); },
};