Home / File/ reply.test.js — fastify Source File

reply.test.js — fastify Source File

Architecture documentation for reply.test.js, a javascript file in the fastify codebase.

Entity Profile

Relationship Graph

Source Code

'use strict'

const { test } = require('node:test')
const http = require('node:http')
const NotFound = require('http-errors').NotFound
const Request = require('../../lib/request')
const Reply = require('../../lib/reply')
const Fastify = require('../..')
const { Readable, Writable } = require('node:stream')
const {
  kReplyErrorHandlerCalled,
  kReplyHeaders,
  kReplySerializer,
  kReplyIsError,
  kReplySerializerDefault,
  kRouteContext
} = require('../../lib/symbols')
const fs = require('node:fs')
const path = require('node:path')

const doGet = async function (url) {
  const result = await fetch(url, {
    method: 'GET',
    redirect: 'manual',
    keepAlive: false
  })

  return {
    response: result,
    body: await result.json().catch(() => undefined)
  }
}

test('Once called, Reply should return an object with methods', t => {
  t.plan(15)
  const response = { res: 'res' }
  const context = {
    config: { onSend: [] },
    schema: {},
    _parserOptions: {},
    server: { hasConstraintStrategy: () => false, initialConfig: {} }
  }
  const request = new Request(null, null, null, null, null, context)
  const reply = new Reply(response, request)
  t.assert.strictEqual(typeof reply, 'object')
  t.assert.strictEqual(typeof reply[kReplyIsError], 'boolean')
  t.assert.strictEqual(typeof reply[kReplyErrorHandlerCalled], 'boolean')
  t.assert.strictEqual(typeof reply.send, 'function')
  t.assert.strictEqual(typeof reply.code, 'function')
  t.assert.strictEqual(typeof reply.status, 'function')
  t.assert.strictEqual(typeof reply.header, 'function')
  t.assert.strictEqual(typeof reply.serialize, 'function')
  t.assert.strictEqual(typeof reply[kReplyHeaders], 'object')
  t.assert.deepStrictEqual(reply.raw, response)
  t.assert.strictEqual(reply[kRouteContext], context)
  t.assert.strictEqual(reply.routeOptions.config, context.config)
  t.assert.strictEqual(reply.routeOptions.schema, context.schema)
  t.assert.strictEqual(reply.request, request)
  // Aim to not bad property keys (including Symbols)
  t.assert.ok(!('undefined' in reply))
// ... (1861 more lines)

Domain

Subdomains

Functions

Frequently Asked Questions

What does reply.test.js do?
reply.test.js is a source file in the fastify codebase, written in javascript. It belongs to the CoreKernel domain, LifecycleManager subdomain.
What functions are defined in reply.test.js?
reply.test.js defines 1 function(s): doGet.
Where is reply.test.js in the architecture?
reply.test.js is located at test/internals/reply.test.js (domain: CoreKernel, subdomain: LifecycleManager, directory: test/internals).

Analyze Your Own Codebase

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

Try Supermodel Free