| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | import { DifyClient, BASE_URL, routes } from ".";import axios from 'axios'jest.mock('axios')describe('Client', () => {  let difyClient  beforeEach(() => {    difyClient = new DifyClient('test')  })  test('should create a client', () => {    expect(difyClient).toBeDefined();  })  // test updateApiKey  test('should update the api key', () => {    difyClient.updateApiKey('test2');    expect(difyClient.apiKey).toBe('test2');  })});describe('Send Requests', () => {  let difyClient  beforeEach(() => {    difyClient = new DifyClient('test')  })  afterEach(() => {    jest.resetAllMocks()  })  it('should make a successful request to the application parameter', async () => {    const method = 'GET'    const endpoint = routes.application.url    const expectedResponse = { data: 'response' }    axios.mockResolvedValue(expectedResponse)    await difyClient.sendRequest(method, endpoint)    expect(axios).toHaveBeenCalledWith({      method,      url: `${BASE_URL}${endpoint}`,      data: null,      params: null,      headers: {        Authorization: `Bearer ${difyClient.apiKey}`,        'Content-Type': 'application/json',      },      responseType: 'json',    })  })  it('should handle errors from the API', async () => {    const method = 'GET'    const endpoint = '/test-endpoint'    const errorMessage = 'Request failed with status code 404'    axios.mockRejectedValue(new Error(errorMessage))    await expect(difyClient.sendRequest(method, endpoint)).rejects.toThrow(      errorMessage    )  })})
 |