mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-19 02:51:14 +00:00
feat(TheHive Node): Overhaul (#6457)
This commit is contained in:
179
packages/nodes-base/nodes/TheHiveProject/test/utils.test.ts
Normal file
179
packages/nodes-base/nodes/TheHiveProject/test/utils.test.ts
Normal file
@@ -0,0 +1,179 @@
|
||||
import { splitAndTrim, fixFieldType, prepareInputItem, constructFilter } from '../helpers/utils';
|
||||
|
||||
describe('Test TheHiveProject, splitAndTrim', () => {
|
||||
it('should split and trim string, removing empty entries', () => {
|
||||
const data = 'a, b,, c, d, e, f,,';
|
||||
|
||||
const result = splitAndTrim(data);
|
||||
|
||||
expect(result).toEqual(['a', 'b', 'c', 'd', 'e', 'f']);
|
||||
});
|
||||
|
||||
it('should return unchanged array', () => {
|
||||
const data = ['a', 'b', 'c', 'd', 'e', 'f'];
|
||||
|
||||
const result = splitAndTrim(data);
|
||||
|
||||
expect(result).toEqual(data);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Test TheHiveProject, fixFieldType', () => {
|
||||
it('should split and trim tags', () => {
|
||||
const data = {
|
||||
tags: 'a, b,, c, d, e, f,,',
|
||||
addTags: 'a, b,, c, d, e, f,,',
|
||||
removeTags: 'a, b,, c, d, e, f,,',
|
||||
notChanged: 'a, b,, c, d, e, f,,',
|
||||
};
|
||||
|
||||
const result = fixFieldType(data);
|
||||
|
||||
expect(result).toEqual({
|
||||
tags: ['a', 'b', 'c', 'd', 'e', 'f'],
|
||||
addTags: ['a', 'b', 'c', 'd', 'e', 'f'],
|
||||
removeTags: ['a', 'b', 'c', 'd', 'e', 'f'],
|
||||
notChanged: 'a, b,, c, d, e, f,,',
|
||||
});
|
||||
});
|
||||
|
||||
it('should convert date strings to milis', () => {
|
||||
const data = {
|
||||
date: '2020-01-01T00:00:00.000Z',
|
||||
lastSyncDate: '2020-01-01T00:00:00.000Z',
|
||||
startDate: '2020-01-01T00:00:00.000Z',
|
||||
endDate: '2020-01-01T00:00:00.000Z',
|
||||
dueDate: '2020-01-01T00:00:00.000Z',
|
||||
includeInTimeline: '2020-01-01T00:00:00.000Z',
|
||||
sightedAt: '2020-01-01T00:00:00.000Z',
|
||||
notChanged: '2020-01-01T00:00:00.000Z',
|
||||
};
|
||||
|
||||
const result = fixFieldType(data);
|
||||
|
||||
expect(result).toEqual({
|
||||
date: 1577836800000,
|
||||
lastSyncDate: 1577836800000,
|
||||
startDate: 1577836800000,
|
||||
endDate: 1577836800000,
|
||||
dueDate: 1577836800000,
|
||||
includeInTimeline: 1577836800000,
|
||||
sightedAt: 1577836800000,
|
||||
notChanged: '2020-01-01T00:00:00.000Z',
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('Test TheHiveProject, prepareInputItem', () => {
|
||||
it('should return object with fields present in schema', () => {
|
||||
const data = {
|
||||
a: 1,
|
||||
b: 2,
|
||||
c: 3,
|
||||
d: 4,
|
||||
f: 5,
|
||||
g: 6,
|
||||
};
|
||||
|
||||
const schema = [
|
||||
{
|
||||
id: 'a',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: 'b',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: 'c',
|
||||
},
|
||||
{
|
||||
id: 'd',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
id: 'e',
|
||||
},
|
||||
];
|
||||
|
||||
const result = prepareInputItem(data, schema, 0);
|
||||
|
||||
expect(result).toEqual({
|
||||
a: 1,
|
||||
b: 2,
|
||||
c: 3,
|
||||
d: 4,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('Test TheHiveProject, constructFilter', () => {
|
||||
it('should add default operator _eq', () => {
|
||||
const data = {
|
||||
field: 'myField',
|
||||
value: 'myValue',
|
||||
};
|
||||
|
||||
const result = constructFilter(data);
|
||||
|
||||
expect(result).toEqual({
|
||||
_eq: {
|
||||
_field: 'myField',
|
||||
_value: 'myValue',
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('should return filter _gte', () => {
|
||||
const data = {
|
||||
field: 'myField',
|
||||
value: 'myValue',
|
||||
operator: '_gte',
|
||||
};
|
||||
|
||||
const result = constructFilter(data);
|
||||
|
||||
expect(result).toEqual({
|
||||
_gte: {
|
||||
_field: 'myField',
|
||||
_value: 'myValue',
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('should return filter _in', () => {
|
||||
const data = {
|
||||
field: 'myField',
|
||||
values: 'a, b,, c, d',
|
||||
operator: '_in',
|
||||
};
|
||||
|
||||
const result = constructFilter(data);
|
||||
|
||||
expect(result).toEqual({
|
||||
_in: {
|
||||
_field: 'myField',
|
||||
_values: ['a', 'b', 'c', 'd'],
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('should return filter _between', () => {
|
||||
const data = {
|
||||
field: 'myField',
|
||||
from: 'a',
|
||||
to: 'b',
|
||||
operator: '_between',
|
||||
};
|
||||
|
||||
const result = constructFilter(data);
|
||||
|
||||
expect(result).toEqual({
|
||||
_between: {
|
||||
_field: 'myField',
|
||||
_from: 'a',
|
||||
_to: 'b',
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user