mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
Fix type issues in test
This commit is contained in:
parent
bc1fa990cd
commit
426b8ad8f0
|
@ -1,9 +1,9 @@
|
||||||
|
import { mock, type CalledWithMock } from 'jest-mock-extended';
|
||||||
import type { MqttClient } from 'mqtt';
|
import type { MqttClient } from 'mqtt';
|
||||||
import { mock } from 'jest-mock-extended';
|
|
||||||
import type { ICredentialDataDecryptedObject, IExecuteFunctions } from 'n8n-workflow';
|
import type { ICredentialDataDecryptedObject, IExecuteFunctions } from 'n8n-workflow';
|
||||||
|
|
||||||
import { Mqtt } from '../Mqtt.node';
|
|
||||||
import { createClient } from '../GenericFunctions';
|
import { createClient } from '../GenericFunctions';
|
||||||
|
import { Mqtt } from '../Mqtt.node';
|
||||||
|
|
||||||
jest.mock('../GenericFunctions', () => {
|
jest.mock('../GenericFunctions', () => {
|
||||||
const mockMqttClient = mock<MqttClient>();
|
const mockMqttClient = mock<MqttClient>();
|
||||||
|
@ -12,6 +12,8 @@ jest.mock('../GenericFunctions', () => {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
type GetCredentialsMock = CalledWithMock<Promise<ICredentialDataDecryptedObject>, [string]>;
|
||||||
|
|
||||||
describe('MQTT Node', () => {
|
describe('MQTT Node', () => {
|
||||||
const credentials = mock<ICredentialDataDecryptedObject>();
|
const credentials = mock<ICredentialDataDecryptedObject>();
|
||||||
const executeFunctions = mock<IExecuteFunctions>();
|
const executeFunctions = mock<IExecuteFunctions>();
|
||||||
|
@ -19,7 +21,10 @@ describe('MQTT Node', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
||||||
executeFunctions.getCredentials.calledWith('mqtt').mockResolvedValue(credentials);
|
// Jest always uses the last fn overload's types, override to use the overload we need
|
||||||
|
(executeFunctions.getCredentials as unknown as GetCredentialsMock)
|
||||||
|
.calledWith('mqtt')
|
||||||
|
.mockResolvedValue(credentials);
|
||||||
executeFunctions.getInputData.mockReturnValue([{ json: { testing: true } }]);
|
executeFunctions.getInputData.mockReturnValue([{ json: { testing: true } }]);
|
||||||
executeFunctions.getNodeParameter.calledWith('topic', 0).mockReturnValue('test/topic');
|
executeFunctions.getNodeParameter.calledWith('topic', 0).mockReturnValue('test/topic');
|
||||||
executeFunctions.getNodeParameter.calledWith('options', 0).mockReturnValue({});
|
executeFunctions.getNodeParameter.calledWith('options', 0).mockReturnValue({});
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
|
import { captor, mock, type CalledWithMock } from 'jest-mock-extended';
|
||||||
import type { MqttClient, OnMessageCallback } from 'mqtt';
|
import type { MqttClient, OnMessageCallback } from 'mqtt';
|
||||||
import { returnJsonArray } from 'n8n-core';
|
import { returnJsonArray } from 'n8n-core';
|
||||||
import { captor, mock } from 'jest-mock-extended';
|
|
||||||
import type { ICredentialDataDecryptedObject, ITriggerFunctions } from 'n8n-workflow';
|
import type { ICredentialDataDecryptedObject, ITriggerFunctions } from 'n8n-workflow';
|
||||||
|
|
||||||
import { MqttTrigger } from '../MqttTrigger.node';
|
|
||||||
import { createClient } from '../GenericFunctions';
|
import { createClient } from '../GenericFunctions';
|
||||||
|
import { MqttTrigger } from '../MqttTrigger.node';
|
||||||
|
|
||||||
jest.mock('../GenericFunctions', () => {
|
jest.mock('../GenericFunctions', () => {
|
||||||
const mockMqttClient = mock<MqttClient>();
|
const mockMqttClient = mock<MqttClient>();
|
||||||
|
@ -13,6 +13,8 @@ jest.mock('../GenericFunctions', () => {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
type GetCredentialsMock = CalledWithMock<Promise<ICredentialDataDecryptedObject>, [string]>;
|
||||||
|
|
||||||
describe('MQTT Trigger Node', () => {
|
describe('MQTT Trigger Node', () => {
|
||||||
const topic = 'test/topic';
|
const topic = 'test/topic';
|
||||||
const payload = Buffer.from('{"testing": true}');
|
const payload = Buffer.from('{"testing": true}');
|
||||||
|
@ -24,7 +26,10 @@ describe('MQTT Trigger Node', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
||||||
triggerFunctions.getCredentials.calledWith('mqtt').mockResolvedValue(credentials);
|
// Jest always uses the last fn overload's types, override to use the overload we need
|
||||||
|
(triggerFunctions.getCredentials as unknown as GetCredentialsMock)
|
||||||
|
.calledWith('mqtt')
|
||||||
|
.mockResolvedValue(credentials);
|
||||||
triggerFunctions.getNodeParameter.calledWith('topics').mockReturnValue(topic);
|
triggerFunctions.getNodeParameter.calledWith('topics').mockReturnValue(topic);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { mock } from 'jest-mock-extended';
|
import { mock, type CalledWithMock } from 'jest-mock-extended';
|
||||||
import type { RedisClientType } from '@redis/client';
|
import type { RedisClientType } from '@redis/client';
|
||||||
import type { IExecuteFunctions } from 'n8n-workflow';
|
import type { ICredentialDataDecryptedObject, IExecuteFunctions } from 'n8n-workflow';
|
||||||
|
|
||||||
const mockClient = mock<RedisClientType>();
|
const mockClient = mock<RedisClientType>();
|
||||||
const createClient = jest.fn().mockReturnValue(mockClient);
|
const createClient = jest.fn().mockReturnValue(mockClient);
|
||||||
|
@ -9,6 +9,8 @@ jest.mock('redis', () => ({ createClient }));
|
||||||
import { Redis } from '../Redis.node';
|
import { Redis } from '../Redis.node';
|
||||||
import { setupRedisClient } from '../utils';
|
import { setupRedisClient } from '../utils';
|
||||||
|
|
||||||
|
type GetCredentialsMock = CalledWithMock<Promise<ICredentialDataDecryptedObject>, [string]>;
|
||||||
|
|
||||||
describe('Redis Node', () => {
|
describe('Redis Node', () => {
|
||||||
const node = new Redis();
|
const node = new Redis();
|
||||||
|
|
||||||
|
@ -61,7 +63,10 @@ describe('Redis Node', () => {
|
||||||
password: 'random',
|
password: 'random',
|
||||||
};
|
};
|
||||||
|
|
||||||
thisArg.getCredentials.calledWith('redis').mockResolvedValue(mockCredential);
|
// Jest always uses the last fn overload's types, override to use the overload we need
|
||||||
|
(thisArg.getCredentials as unknown as GetCredentialsMock)
|
||||||
|
.calledWith('redis')
|
||||||
|
.mockResolvedValue(mockCredential);
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
expect(createClient).toHaveBeenCalled();
|
expect(createClient).toHaveBeenCalled();
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
import { returnJsonArray } from 'n8n-core';
|
import { returnJsonArray } from 'n8n-core';
|
||||||
import { captor, mock } from 'jest-mock-extended';
|
import { captor, mock, type CalledWithMock } from 'jest-mock-extended';
|
||||||
import type { ICredentialDataDecryptedObject, ITriggerFunctions } from 'n8n-workflow';
|
import type { ICredentialDataDecryptedObject, ITriggerFunctions } from 'n8n-workflow';
|
||||||
|
|
||||||
import { RedisTrigger } from '../RedisTrigger.node';
|
import { RedisTrigger } from '../RedisTrigger.node';
|
||||||
import { type RedisClientType, setupRedisClient } from '../utils';
|
import { type RedisClientType, setupRedisClient } from '../utils';
|
||||||
|
|
||||||
|
type GetCredentialsMock = CalledWithMock<Promise<ICredentialDataDecryptedObject>, [string]>;
|
||||||
|
|
||||||
jest.mock('../utils', () => {
|
jest.mock('../utils', () => {
|
||||||
const mockRedisClient = mock<RedisClientType>();
|
const mockRedisClient = mock<RedisClientType>();
|
||||||
return {
|
return {
|
||||||
|
@ -22,7 +24,10 @@ describe('Redis Trigger Node', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
||||||
triggerFunctions.getCredentials.calledWith('redis').mockResolvedValue(credentials);
|
// Jest always uses the last fn overload's types, override to use the overload we need
|
||||||
|
(triggerFunctions.getCredentials as unknown as GetCredentialsMock)
|
||||||
|
.calledWith('redis')
|
||||||
|
.mockResolvedValue(credentials);
|
||||||
triggerFunctions.getNodeParameter.calledWith('channels').mockReturnValue(channel);
|
triggerFunctions.getNodeParameter.calledWith('channels').mockReturnValue(channel);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue