mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 18:41:14 +00:00
58 lines
1.7 KiB
TypeScript
58 lines
1.7 KiB
TypeScript
import { NodeApiError } from 'n8n-workflow';
|
|
|
|
import { wordpressApiRequest, wordpressApiRequestAllItems } from '../GenericFunctions';
|
|
|
|
describe('Wordpress > GenericFunctions', () => {
|
|
const mockFunctions: any = {
|
|
helpers: {
|
|
requestWithAuthentication: jest.fn(),
|
|
},
|
|
getCredentials: jest.fn().mockResolvedValue({
|
|
url: 'http://example.com',
|
|
allowUnauthorizedCerts: false,
|
|
}),
|
|
getNode: jest.fn(),
|
|
};
|
|
|
|
beforeEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
describe('wordpressApiRequest', () => {
|
|
it('should make a successful request', async () => {
|
|
mockFunctions.helpers.requestWithAuthentication.mockResolvedValue({ data: 'testData' });
|
|
const result = await wordpressApiRequest.call(mockFunctions, 'GET', '/posts', {}, {});
|
|
expect(result).toEqual({ data: 'testData' });
|
|
expect(mockFunctions.helpers.requestWithAuthentication).toHaveBeenCalled();
|
|
});
|
|
|
|
it('should throw NodeApiError on failure', async () => {
|
|
mockFunctions.helpers.requestWithAuthentication.mockRejectedValue({ message: 'fail' });
|
|
await expect(
|
|
wordpressApiRequest.call(mockFunctions, 'GET', '/posts', {}, {}),
|
|
).rejects.toThrow(NodeApiError);
|
|
});
|
|
});
|
|
|
|
describe('wordpressApiRequestAllItems', () => {
|
|
it('should accumulate all pages', async () => {
|
|
mockFunctions.helpers.requestWithAuthentication
|
|
.mockResolvedValueOnce({
|
|
body: [{ post: 1 }],
|
|
headers: {
|
|
'x-wp-totalpages': '2',
|
|
},
|
|
})
|
|
.mockResolvedValueOnce({
|
|
body: [{ post: 2 }],
|
|
headers: {
|
|
'x-wp-totalpages': '2',
|
|
},
|
|
});
|
|
|
|
const results = await wordpressApiRequestAllItems.call(mockFunctions, 'GET', '/posts');
|
|
expect(results).toEqual([{ post: 1 }, { post: 2 }]);
|
|
});
|
|
});
|
|
});
|