Testing Context JSON Serialization in Koa.js
This test suite validates the JSON serialization functionality of Koa’s context object, ensuring proper conversion of request and response data. It verifies that the ctx.toJSON() method correctly represents the HTTP context with all relevant properties and headers.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
koajs/koa
__tests__/context/toJSON.test.js
'use strict'
const { describe, it } = require('node:test')
const assert = require('assert')
const context = require('../../test-helpers/context')
describe('ctx.toJSON()', () => {
it('should return a json representation', () => {
const ctx = context()
ctx.req.method = 'POST'
ctx.req.url = '/items'
ctx.req.headers['content-type'] = 'text/plain'
ctx.status = 200
ctx.body = '<p>Hey</p>'
const obj = JSON.parse(JSON.stringify(ctx))
const req = obj.request
const res = obj.response
assert.deepStrictEqual({
method: 'POST',
url: '/items',
header: {
'content-type': 'text/plain'
}
}, req)
assert.deepStrictEqual({
status: 200,
message: 'OK',
header: {
'content-type': 'text/html; charset=utf-8',
'content-length': '10'
}
}, res)
})
})