1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-04-16 19:03:13 +00:00

fix: jest tests RequestClient.spec.ts

This commit is contained in:
2025-03-03 17:52:53 +01:00
parent 7bdd826418
commit 18be9e8806
10 changed files with 118 additions and 26 deletions

View File

@@ -24,9 +24,17 @@ const axiosActual = jest.requireActual('axios')
jest
.spyOn(axiosModules, 'createAxiosInstance')
.mockImplementation((baseURL: string, httpsAgent?: https.Agent) =>
axiosActual.create({ baseURL, httpsAgent })
axiosActual.create({ baseURL, httpsAgent, withCredentials: true })
)
jest.mock('util', () => {
const actualUtil = jest.requireActual('util')
return {
...actualUtil,
inspect: jest.fn(actualUtil.inspect)
}
})
const PORT = 8000
const SERVER_URL = `https://localhost:${PORT}/`
@@ -432,15 +440,18 @@ ${resHeaders[0]}: ${resHeaders[1]}${
})
describe('prettifyString', () => {
const inspectMock = UtilsModule.inspect as unknown as jest.Mock
beforeEach(() => {
// Reset the mock before each test to ensure a clean slate
inspectMock.mockClear()
})
it(`should call inspect without colors when verbose mode is set to 'bleached'`, () => {
const requestClient = new RequestClient('')
let verbose: VerboseMode = 'bleached'
requestClient.setVerboseMode(verbose)
jest.spyOn(UtilsModule, 'inspect')
requestClient.setVerboseMode('bleached')
const testStr = JSON.stringify({ test: 'test' })
requestClient['prettifyString'](testStr)
expect(UtilsModule.inspect).toHaveBeenCalledWith(testStr, {
@@ -448,15 +459,11 @@ ${resHeaders[0]}: ${resHeaders[1]}${
})
})
it(`should call inspect with colors when verbose mode is set to 'true'`, () => {
it(`should call inspect with colors when verbose mode is set to true`, () => {
const requestClient = new RequestClient('')
let verbose: VerboseMode = true
requestClient.setVerboseMode(verbose)
jest.spyOn(UtilsModule, 'inspect')
requestClient.setVerboseMode(true)
const testStr = JSON.stringify({ test: 'test' })
requestClient['prettifyString'](testStr)
expect(UtilsModule.inspect).toHaveBeenCalledWith(testStr, {

View File

@@ -1,7 +1,15 @@
import express = require('express')
import cors from 'cors'
export const app = express()
app.use(
cors({
origin: 'http://localhost', // Allow requests only from this origin
credentials: true // Allow credentials (cookies, auth headers, etc.)
})
)
export const mockedAuthResponse = {
access_token: 'access_token',
token_type: 'bearer',
@@ -12,11 +20,11 @@ export const mockedAuthResponse = {
jti: 'jti'
}
app.get('/', function (req: any, res: any) {
app.get('/', (req: any, res: any) => {
res.send('Hello World')
})
app.post('/SASLogon/oauth/token', function (req: any, res: any) {
app.post('/SASLogon/oauth/token', (req: any, res: any) => {
let valid = true
// capture the encoded form data