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.

Dependents (0)

Package Sidebar

Install

npm i fastify-knexjs-mock

Weekly Downloads

1

Version

1.1.1

License

MIT

Unpacked Size

11 kB

Total Files

15

Last publish

Collaborators

  • nbalduzzi