Home / File/ request-validate.test.js — fastify Source File

request-validate.test.js — fastify Source File

Architecture documentation for request-validate.test.js, a javascript file in the fastify codebase.

Entity Profile

Source Code

'use strict'

const { test } = require('node:test')
const Ajv = require('ajv')
const { kRequestCacheValidateFns, kRouteContext } = require('../../lib/symbols')
const Fastify = require('../../fastify')

const defaultSchema = {
  type: 'object',
  required: ['hello'],
  properties: {
    hello: { type: 'string' },
    world: { type: 'string' }
  }
}

const requestSchema = {
  params: {
    type: 'object',
    properties: {
      id: {
        type: 'integer',
        minimum: 1
      }
    }
  },
  querystring: {
    type: 'object',
    properties: {
      foo: {
        type: 'string',
        enum: ['bar']
      }
    }
  },
  body: defaultSchema,
  headers: {
    type: 'object',
    properties: {
      'x-foo': {
        type: 'string'
      }
    }
  }
}

test('#compileValidationSchema', async subtest => {
  subtest.plan(7)

  await subtest.test('Should return a function - Route without schema', async t => {
    const fastify = Fastify()

    t.plan(3)

    fastify.get('/', (req, reply) => {
      const validate = req.compileValidationSchema(defaultSchema)

      t.assert.ok(validate instanceof Function)
      t.assert.ok(validate({ hello: 'world' }))
      t.assert.ok(!validate({ world: 'foo' }))
// ... (1343 more lines)

Frequently Asked Questions

What does request-validate.test.js do?
request-validate.test.js is a source file in the fastify codebase, written in javascript.
Where is request-validate.test.js in the architecture?
request-validate.test.js is located at test/internals/request-validate.test.js (directory: test/internals).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free