Files
chatwoot/app/javascript/dashboard/helper/specs/actionQueryGenerator.spec.js
T

102 lines
2.2 KiB
JavaScript

import actionQueryGenerator from '../actionQueryGenerator';
const testData = [
{
action_name: 'add_label',
action_params: [{ id: 'testlabel', name: 'testlabel' }],
},
{
action_name: 'add_label_empty',
action_params: [],
},
{
action_name: 'add_label_string_array',
action_params: ['test_1', 'test_2', 'test_3'],
},
{
action_name: 'add_label_number_array',
action_params: [1, 2, 3],
},
{
action_name: 'assign_team',
action_params: [
{
id: 1,
name: 'sales team',
description: 'This is our internal sales team',
allow_auto_assign: true,
account_id: 1,
is_member: true,
},
],
},
{
action_name: 'assign_priority',
action_params: { id: 'high', name: 'High' },
},
{
action_name: 'test_action_with_no_id_no_value',
action_params: { name: 'High' },
},
{
action_name: 'test_action_with_nullish_action_params',
action_params: null,
},
{
action_name: 'test_action_with_simple_value_as_action_params',
action_params: 'some-value',
},
];
const finalResult = [
{
action_name: 'add_label',
action_params: ['testlabel'],
},
{
action_name: 'add_label_empty',
action_params: [],
},
{
action_name: 'add_label_string_array',
action_params: ['test_1', 'test_2', 'test_3'],
},
{
action_name: 'add_label_number_array',
action_params: [1, 2, 3],
},
{
action_name: 'assign_team',
action_params: [1],
},
{
action_name: 'assign_priority',
action_params: ['high'],
},
{
action_name: 'test_action_with_no_id_no_value',
action_params: [
{
name: 'High',
},
],
},
{
action_name: 'test_action_with_nullish_action_params',
action_params: [],
},
{
action_name: 'test_action_with_simple_value_as_action_params',
action_params: ['some-value'],
},
];
describe('#actionQueryGenerator', () => {
it('returns the correct format of filter query', () => {
expect(actionQueryGenerator(testData)).toEqual(finalResult);
expect(
actionQueryGenerator(testData).every(i => Array.isArray(i.action_params))
).toBe(true);
});
});