loopback-supertest

0.1.12 • Public • Published

Loopback Supertest

Installation

  1. Install in you loopback project:
npm install --save-dev supertest, supertest-as-promised, loopback-supertest

Usage

app     = require '../server/test-app'
Api     = require 'loopback-supertest'

Api.USERS = 'Accounts' # your user model api endpoint, defaults to Users

describe "Accounts", ->

  server = null
  accounts = null

  before (done)->
    app.start (err, result)->
      server = result unless err
      accounts = Api server, app, 'Accounts'
      done(err)

  after (done)->
    server.close(done) if server

  it "should create a new account", ->
    accounts.post(username: 'jack', password:'xxx', email:'xxx@xx.com')
    .expect 200
  it "should login a account", ->
    accounts.login username: 'jack', password:'xxx'

test-app.js:

process.env.NODE_ENV = 'test'

require('coffee-script/register');
require('require-yaml');

var path        = require('path');
var loopback    = require('loopback');
var boot        = require('loopback-boot');
var autoMigrate = require('./common/auto-migrate-data');

var app = module.exports = loopback();

app.start = function(done) {
  // Bootstrap the application, configure models, datasources and middleware.
  // Sub-apps like REST API are mounted via boot scripts.
  boot(app, __dirname, function(err) {
    if (err) throw err;
    var defaultFixtureFolder = path.resolve(__dirname, './data');
    autoMigrate(app, defaultFixtureFolder).then(function(){
      console.log('autoMigrate successful')
      // start the web server
      var server = app.listen(function(err) {
        app.emit('started');
        if (done) done(err, server)
      });
    })
    .catch(function(err){done(err)});

  });
};

Package Sidebar

Install

npm i loopback-supertest

Weekly Downloads

13

Version

0.1.12

License

MIT

Last publish

Collaborators

  • riceball