Newsworthy Presidential Mistakes

    hapi-test-request

    0.0.4 • Public • Published

    Hapi request test helper

    Build Status npm version Dependency Status Follow @trailsjs on Twitter

    HTTP assertions made easy for Hapi using Promises

    Requirements

    This module requires Node.js v4.1+

    Usage

    Server file should export server server.js:

    '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:

    const server = require('../server.js');
    const request = require('hapi-test-request')(server);
     
    //...
    let.it('something', (done) => {
      request.call({
       method: 'POST',
       url: '/mail',
       payload: {
         email: 'someemail@email.com'
       }
      }).then((response) => {
        // ....
        expect(response.statusCode).to.equal(200);
        done();
      });
    });

    Options for testing

    {
      prefix: '/api/v1' // Will add prefix for all requests
    }

    Example:

    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

    Install

    npm i hapi-test-request

    DownloadsWeekly Downloads

    4

    Version

    0.0.4

    License

    MIT

    Last publish

    Collaborators

    • kos