Necessary Pigeonholing Mechanism

    fastify-knexjs-mock

    1.1.1 • Public • Published

    Fastify KnexJS Mock Plugin

    Test Semantic Release JavaScript Style Guide semantic-release

    NPM

    Installation

    npm install fastify-knexjs-mock --save

    Usage

    fastify.register(require('fastify-knexjs-mock'), options, err => console.error(err))
    
    fastify.get('/', (request, reply) => {
      console.log(fastify.knex) // Knex DB instance
      console.log(fastify.tracker) // Knex DB Mocked tracker
    })

    Options

    KnexJS Mock DB configuration JSON object.

    https://github.com/colonyamerican/mock-knex

    Test example

    const { test } = require('tap')
    const { fastify } = require('./app')
    
    fastify.ready(() => {
      fastify.tracker.install()
    
      test('GET 200 `/users` route', async t => {
        t.plan(2)
    
        fastify.tracker.on('query', (query) => query.response([{
          id: 1,
          name: 'Test',
          lastname: 'Test',
          email: 'test@example.com'
        }]))
    
        try {
          const { statusCode, payload } = await fastify.inject({
            method: 'GET',
            url: '/users'
          })
    
          t.equal(statusCode, 200)
          t.same(JSON.parse(payload)[0].email, 'test@example.com')
        } catch (err) {
          t.error(err)
        } finally {
          fastify.close(() => t.end())
        }
      })
    })

    Author

    Nicolás Balduzzi

    License

    Licensed under MIT.

    Install

    npm i fastify-knexjs-mock

    DownloadsWeekly Downloads

    1,596

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    11 kB

    Total Files

    15

    Last publish

    Collaborators

    • nbalduzzi