https://github.com/konstantinzolotarev/hapi-test-request
Hapi request test helper
https://github.com/konstantinzolotarev/hapi-test-request
Last synced: 4 months ago
JSON representation
Hapi request test helper
- Host: GitHub
- URL: https://github.com/konstantinzolotarev/hapi-test-request
- Owner: konstantinzolotarev
- License: mit
- Created: 2015-12-28T02:07:26.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-29T04:45:13.000Z (over 9 years ago)
- Last Synced: 2025-02-02T07:15:59.971Z (5 months ago)
- Language: JavaScript
- Size: 13.7 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hapi request test helper
[](https://travis-ci.org/konstantinzolotarev/hapi-test-request)
[](https://badge.fury.io/js/hapi-test-request)
[](https://david-dm.org/konstantinzolotarev/hapi-test-request)
[](https://twitter.com/zolotarev_k)HTTP assertions made easy for Hapi using Promises
## Requirements
This module requires Node.js v4.1+
## Usage
Server file should export server `server.js`:
```javascript
'use strict';const Hapi = require('hapi');
// Create a server with a host and port
const server = new Hapi.Server();
server.connection({
host: 'localhost',
port: 8000
});// Add the route
server.route({
method: 'GET',
path:'/hello',
handler: function (request, reply) {
return reply({
test: true
});
}
});server.route({
method: 'GET',
path: '/api/v1/test',
handler: function (request, reply) {
reply({
test: true
});
}
});// Start the server
server.start((err) => {
if (err) {
throw err;
}
});// !!!!!!!
module.exports = server;```
Example of `some.test.js`:
```javascript
const server = require('../server.js');
const request = require('hapi-test-request')(server);//...
let.it('something', (done) => {
request.call({
method: 'POST',
url: '/mail',
payload: {
email: '[email protected]'
}
}).then((response) => {
// ....
expect(response.statusCode).to.equal(200);
done();
});
});
```## Options for testing
```javascript
{
prefix: '/api/v1' // Will add prefix for all requests
}
```Example:
```javascript
const server = require('./server');
const request = require('hapi-test-request');
const lab = require('lab');lab.it('Some tests', (done) => {
const config = {
prefix: '/api/v1'
};
request(server, config)
.call({
method: 'GET',
url: '/test' // will be merged with prefix. Will be called: /api/v1/test
})
.then((res) => {
expect(res.statusCode).to.equal(200);
})
.then(done)
.catch(done);
});
```
## License
[MIT](https://github.com/konstantinzolotarev/hapi-test-request/blob/master/LICENSE)