n8cn / packages /cli /src /services /__tests__ /credentials-tester.service.test.ts
gallyga's picture
Add n8n Chinese version
aec3094
import mock from 'jest-mock-extended/lib/Mock';
import type { ICredentialType, INodeType } from 'n8n-workflow';
import type { CredentialTypes } from '@/credential-types';
import type { NodeTypes } from '@/node-types';
import { CredentialsTester } from '@/services/credentials-tester.service';
describe('CredentialsTester', () => {
const credentialTypes = mock<CredentialTypes>();
const nodeTypes = mock<NodeTypes>();
const credentialsTester = new CredentialsTester(
mock(),
mock(),
credentialTypes,
nodeTypes,
mock(),
);
beforeEach(() => {
jest.clearAllMocks();
});
it('should find the OAuth2 credential test for a generic OAuth2 API credential', () => {
credentialTypes.getByName.mockReturnValue(mock<ICredentialType>({ test: undefined }));
credentialTypes.getSupportedNodes.mockReturnValue(['oAuth2Api']);
credentialTypes.getParentTypes.mockReturnValue([]);
nodeTypes.getByName.mockReturnValue(
mock<INodeType>({
description: { credentials: [{ name: 'oAuth2Api' }] },
}),
);
const testFn = credentialsTester.getCredentialTestFunction('oAuth2Api');
if (typeof testFn !== 'function') fail();
expect(testFn.name).toBe('oauth2CredTest');
});
});