getRequest: function * () {
    if (!process.testRequest) {
      var server = new Server({
          dirname: './'
        })
        .init()
        .setupRoutes()
        .start();

      var app = server.app;
      process.testRequest = supertest.agent(app.listen());
    }
    return process.testRequest;
  }
Ejemplo n.º 2
0
describe('/signup', function () {
  var agent = request.agent(app);
  
  before(function (done) {
    User.remove({name: 'nswbmw'}, done);
  });

  after(function (done) {
    User.remove({name: 'nswbmw'}, done);
  });

  it('GET /signup without cookie', function* () {
    yield agent.get('/signup').expect(200).end();
  });

  it('POST /signup without cookie', function* () {
    yield agent
      .post('/signup')
      .send({
        name: 'nswbmw',
        email: '*****@*****.**',
        password: '******',
        re_password: '******',
        gender: '男',
        signature: '你是我的小呀小苹果~'
      })
      .expect(302)
      .end();
  });

  it('GET /signup with cookie', function* () {
    yield agent.get('/signup').expect(302).end();
  });

  it('POST /signup with cookie', function* () {
    yield agent
      .post('/signup')
      .send({
        name: 'nswbmw',
        email: '*****@*****.**',
        password: '******',
        re_password: '******',
        gender: '男',
        signature: '你是我的小呀小苹果~'
      })
      .expect(302)
      .end();
  });
});
Ejemplo n.º 3
0
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */
/* Api integration/acceptance tests (just a few sample tests, not full coverage)                  */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

'use strict';
/* eslint no-console: 0 */
/* eslint no-unused-expressions:0 */ /* (for expect().to.be.empty ) */

const supertest = require('co-supertest'); // SuperAgent-driven library for testing HTTP servers
const expect    = require('chai').expect;  // BDD/TDD assertion library
require('co-mocha');                       // enable support for generators in mocha tests using co

const app = require('../app.js');

const request = supertest.agent(app.listen());

const headers = { Host: 'api.localhost' }; // set host header (note Accept is defaulted to application/json)


describe('API'+' ('+app.env+'/'+require('../config/db-'+app.env+'.json').db.database+')', function() {
    let userId = null, userPw = null;

    describe('/auth', function() {
        it('returns 401 on missing auth header', function*() {
            const response = yield request.get('/auth').set(headers).end();
            expect(response.status).to.equal(401, response.text);
            expect(response.body).to.be.an('object');
        });

        it('returns 401 on unrecognised email', function*() {
            const response = yield request.get('/auth').set(headers).auth('*****@*****.**', 'admin').end();
'use strict';

process.env.NODE_ENV = 'test';

const supertest = require('co-supertest');
const app = require('../../src/server/app');
const config = require('../../src/server/config');

const port = config.app.port;
const baseUrl = 'http://localhost:' + port;

exports.baseUrl = baseUrl;
exports.supertest = supertest;
exports.request = supertest(baseUrl);
exports.agent = supertest.agent(baseUrl);

before(function* (done) {
  yield app.init();
  console.log('test is listening port: ' + port);

  const userHelper = require('./helper/user');
  yield userHelper.create;
  userHelper.signAgent(exports.agent, done);
});

after(function* (done) {
  const databaseHelper = require('./helper/database');
  yield databaseHelper.drop;

  app.server.close(done);
  console.log('test closed server and exit!');
Ejemplo n.º 5
0
 beforeEach(function () {
     app = require('../../../src/server');
     registry = require('../../../src/registry');
     request = supertest.agent(app.listen());
     db = require('../../../src/db')();
 });