Spaces:
Paused
Paused
| 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}`, | |
| 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 | |
| ) | |
| }) | |
| }) |