Home / File/ schema-controller-perf.test.js — fastify Source File

schema-controller-perf.test.js — fastify Source File

Architecture documentation for schema-controller-perf.test.js, a javascript file in the fastify codebase.

Entity Profile

Source Code

const { sep } = require('node:path')
const { test } = require('node:test')
const Fastify = require('../../fastify')

test('SchemaController are NOT loaded when the controllers are custom', async t => {
  const app = Fastify({
    schemaController: {
      compilersFactory: {
        buildValidator: () => () => { },
        buildSerializer: () => () => { }
      }
    }
  })

  await app.ready()

  const loaded = Object.keys(require.cache)
  const ajvModule = loaded.find((path) => path.includes(`@fastify${sep}ajv-compiler`))
  const stringifyModule = loaded.find((path) => path.includes(`@fastify${sep}fast-json-stringify-compiler`))

  t.assert.equal(ajvModule, undefined, 'Ajv compiler is loaded')
  t.assert.equal(stringifyModule, undefined, 'Stringify compiler is loaded')
})

test('SchemaController are loaded when the controllers are not custom', async t => {
  const app = Fastify()
  await app.ready()

  const loaded = Object.keys(require.cache)
  const ajvModule = loaded.find((path) => path.includes(`@fastify${sep}ajv-compiler`))
  const stringifyModule = loaded.find((path) => path.includes(`@fastify${sep}fast-json-stringify-compiler`))

  t.after(() => {
    delete require.cache[ajvModule]
    delete require.cache[stringifyModule]
  })

  t.assert.ok(ajvModule, 'Ajv compiler is loaded')
  t.assert.ok(stringifyModule, 'Stringify compiler is loaded')
})

Frequently Asked Questions

What does schema-controller-perf.test.js do?
schema-controller-perf.test.js is a source file in the fastify codebase, written in javascript.
Where is schema-controller-perf.test.js in the architecture?
schema-controller-perf.test.js is located at test/internals/schema-controller-perf.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