first commit
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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 }]);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user