/** * Tests for OAuth-session Electron net.request helpers. * * Run with: node --test electron/oauth-net-request.test.cjs */ const test = require('node:test') const assert = require('node:assert/strict') const { serializeJsonBody, setJsonRequestHeaders } = require('./oauth-net-request.cjs') test('serializeJsonBody returns undefined for absent bodies', () => { assert.equal(serializeJsonBody(undefined), undefined) }) test('serializeJsonBody JSON-encodes request bodies', () => { const body = serializeJsonBody({ archived: true }) assert.ok(Buffer.isBuffer(body)) assert.equal(body.toString('utf8'), '{"archived":true}') }) test('setJsonRequestHeaders does not set Electron-restricted Content-Length', () => { const headers = [] const request = { setHeader(name, value) { headers.push([name, value]) } } setJsonRequestHeaders(request) assert.deepEqual(headers, [['Content-Type', 'application/json']]) assert.equal(headers.some(([name]) => name.toLowerCase() === 'content-length'), false) })