Nutritious Pomegranate Muffins
Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

tournesol

1.0.0 • Public • Published

Tournesol

Build Status

A Hapi-Glue-Lab-Code tool that could only be created by a crazy scientist.

$ npm install tournesol

Purpose

This package aims at making api tests using Hapi, Lab and Code easier. The idea is to focus on what the tests mean rather than how to perform them.

Usage

const Lcrud = require( 'tournesol' ).Lcrud;
 
var request = new Lcrud(baseURL, getPayload, getHeaders);
const Tournesol = require( 'tournesol' );
const Lcrud = require( 'tournesol' ).Lcrud;
const Lab = require( 'lab' );
const lab = exports.lab = Lab.script();
 
const Server = require( 'A Hapi server' ); // require the hapi server to test or build it within the test file. 
 
const definition = {
        title: 'Title of the test with value of {pre.half1} + {input.itemId}',
        pre: [
            {
                assign: 'half1',
                name: 'half1 ( = 5)',
                method: function ( reply ) {
 
                    // no err
                    reply( null, 5 );
                }
            }
        ],
        paramSets: [
            {
                titleComplement: 'hello mommy',
                input: {
                    itemId: 5
                },
                output: {
                    statusCode: 200
                }
            },
            {
                input: {
                    itemId: 10
                },
                output: {
                    statusCode: 404
                }
            }
        ],
        inject: function ( pre, input ) {
 
            const request = new Lcrud( '/items', null, null );
            return request.get( null, null, input.itemId + pre.half1 );
        }
    };
 
    Tournesol.runTests(definition, Server, lab);

Doc

Please refer to:

  • Lcrud: List + CRUD, to generates requests for tests.
  • runTests: to run tests from a nice definition object.

About the name

Tournesol is the french name of the crazy professor in The Adventures of Tintin. You may know him by the name of Professor Calculus. This name was chosen since this package turns Lab into the home of a mad scientist.

Install

npm i tournesol

DownloadsWeekly Downloads

4

Version

1.0.0

License

MIT

Last publish

Collaborators

  • avatar