0.6.0 • Published 10 years ago

teqlabs-testify v0.6.0

Weekly downloads
22
License
MIT
Repository
github
Last release
10 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

10 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.3.2

10 years ago

0.3.1

11 years ago

0.3.0

11 years ago

0.2.0

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago

0.0.1

11 years ago