0.6.0 • Published 9 years ago

teqlabs-testify v0.6.0

Weekly downloads
22
License
MIT
Repository
github
Last release
9 years ago

Setup

var Test = require('teqlabs-testify')
  , assert = require('assert')

var api = new Test({
  host: 'http://localhost:8000'   // api host
  print: false,                   // print request/response messages
  headers: {},                    // headers to send with every request
  params: {},                     // params to send with every request
  done: function(body){}          // called before every request callback
})

Methods

MethodAction
api.get(path, next)GET Request
api.post(path, json, next)POST Request
api.put(path, json, next)PUT Request
api.del(path, json, next)DELETE Request
api.param(key, val)Set Param
api.header(key, val)Set Header
api.bearer(token)Set Bearer

GET Request

api.get('/users', function (res, users) {
  assert.equal(res.statusCode, 200)
  assert.equal(users[0].role, 'client')
  // etc...
})
GET https://localhost:8000/users
{}
RESPONSE: [200]
[
  {
    "_id": "532b95856006dd7f10000003",
    "email": "bluehugh2@gmail.com",
    "name": "Hugh Boylan",
    "role": "client"
  }
]

POST Request

api.post('/users/auth', { email:'bluehugh2@gmail.com', password:'password1' }, function (res, user) {
  assert.equal(res.statusCode, 200)
})
POST https://localhost:8000/users/auth
{
  "email": "bluehugh2@gmail.com",
  "password": "password1"
}
RESPONSE: [200]
{
  "_id": "532b95856006dd7f10000003",
  "email": "bluehugh2@gmail.com",
  "name": "Hugh Boylan",
  "role": "client",
  "token": "youshallnotpass"
}

PUT Request

api.put('/users', { name:"hjboylan" }, function (res, user) {
  assert.equal(res.statusCode, 200)
  assert.equal(user.name, "hjboylan")
})
PUT https://localhost:8000/users
{
  "name": "hjboylan"
}
RESPONSE: [200]
{
  "_id": "532b95856006dd7f10000003",
  "email": "bluehugh2@gmail.com",
  "name": "hjboylan",
  "role": "client"
}

DELETE Request

api.del('/users', { name:'hjboylan', password:"password1" }, function (res, body) {
  assert.equal(res.statusCode, 200)
  assert.equal(body, null)
})
DELETE https://localhost:8000/users
{
  "name": "hjboylan",
  "password": "password1"
}
RESPONSE: [200]
{
  "_id": "532b95856006dd7f10000003",
  "email": "bluehugh2@gmail.com",
  "name": "hjboylan",
  "role": "client"
}

Set Param

Add a param to all future requests (npm-request)https://www.npmjs.com/package/request#requestoptions-callback

api.param('json', false)
api.param('timeout', 1000)

Set Header

Add a header to all future requests

api.header('X-Auth', 'therecanonlybeone')

Set Bearer

Convenience method for api.header('X-Authorization', 'Bearer: youshallnotpass'). Add a feature request on GitHub for more functions like this to simplify your tests. passport-http-bearer

api.bearer('youshallnotpass')

Example App

Look for teqlabs-testify-example coming soon

0.6.0

9 years ago

0.5.2

9 years ago

0.5.1

9 years ago

0.5.0

9 years ago

0.3.2

9 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.1

10 years ago