import mount from './helpers/mount'

chai.use(chaiEnzyme())

let testCount = 0
test.beforeEach.cb(t => {
  const error = ++testCount >= 3
  const responseCode = error ? 500 : 200
  const responseBody = error ?
    '{ "error": "foobar" }' :
    '[{"email":"*****@*****.**","name":{"title":"ms","first":"clara","last":"coleman"},"seed":"7729a1ef4ba6ef68","picture":{"large":"http://api.randomuser.me/portraits/women/72.jpg","medium":"http://api.randomuser.me/portraits/med/women/72.jpg","thumbnail":"http://api.randomuser.me/portraits/thumb/women/72.jpg"}}]'

  const respond = (request) => {
    request.respond(
      responseCode,
      { 'Content-Type': 'application/json' },
      responseBody
    )
    fauxJax.restore()

    defer(t.end)
  }

  fauxJax.install()
  fauxJax.on('request', respond)
  t.context.data = mount(Users)
})

test.afterEach(t => t.context.data.wrapper.unmount())

test.serial('it should render users after request', t => {
  const { wrapper } = t.context.data
var shakeHand = (client,port,cb) => {
  client.write(
    'GET ws://localhost:' + port + '/ws HTTP/1.1\n' +
    'Origin: http://localhost:' + port + '\n' +
    'Host: localhost:' + port + '\n' +
    'Sec-WebSocket-Key: a-test-key==\n' +
    'Upgrade: websocket\n' +
    'Connection: Upgrade\n' +
    'Sec-WebSocket-Version: 13\n\r\n\r\n',cb
  )
}

test.beforeEach.cb("Start a easy-websocket Server", (t) => {
  server = new http.Server();
  server.listen(() => {
    port = server.address().port
    t.end()
  })
})

test.afterEach.cb((t) => {
  server.close(() => {
    t.end()
  });
})

function authFail(req) {
  return 'no auth'
}

function authSucess(req) {
const exampleUser = '******'

let testCount = 0
test.beforeEach.cb(t => {
  const error = ++testCount >= 3

  const respond = (request) => {
    const responseCode = error ? 500 : 200

    const responseBody = error ? '{ "error": "foobar" }' : exampleUser

    request.respond(
      responseCode,
      { 'Content-Type': 'application/json' },
      responseBody
    )
    fauxJax.restore()
    defer(t.end)
  }

  fauxJax.install()
  fauxJax.on('request', respond)

  // get only flux instance to initialize component with flux store
  // before rendering happens
  const flux = mount(undefined, {}, true)
  if (testCount === 2) flux.getActions('users').indexSuccess([ JSON.parse(exampleUser) ])
  t.context.data = mount(Profile, { params: { seed: '7729a1ef4ba6ef68' } }, flux)
})

test.afterEach(t => t.context.data.wrapper.unmount())
Exemple #4
0
const test = require('ava');
const _ = require('lodash');
const Koa = require('koa');
const supertest = require('supertest');
const koaConnect = require('koa-connect');
const responseTime = require('response-time');
const requestId = require('express-request-id');

const Cabin = require('..');

test.beforeEach.cb(t => {
  const app = new Koa();
  const cabin = new Cabin();
  app.use(koaConnect(responseTime));
  app.use(koaConnect(requestId()));
  app.use(cabin.middleware);
  t.context.app = app;
  t.context.server = app.listen(() => {
    t.end();
  });
});

test('should expose a middleware function', t => {
  const cabin = new Cabin();
  t.true(_.isFunction(cabin.middleware));
});

test.cb('ctx.logger.log for koa', t => {
  t.context.app.use(ctx => {
    ctx.logger.log('hello');
    ctx.body = 'ok';