## Summary Adds a new automation condition to filter private notes. This allows automation rules to explicitly include or exclude private notes instead of relying on implicit behavior. Fixes: #11208 ## Preview https://github.com/user-attachments/assets/c40f6910-7bbf-4e59-aae5-ad408602927a
55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
import { useEditableAutomation } from '../useEditableAutomation';
|
|
import useAutomationValues from '../useAutomationValues';
|
|
|
|
vi.mock('../useAutomationValues');
|
|
|
|
describe('useEditableAutomation', () => {
|
|
beforeEach(() => {
|
|
useAutomationValues.mockReturnValue({
|
|
getConditionDropdownValues: vi.fn(attributeKey => {
|
|
if (attributeKey === 'private_note') {
|
|
return [
|
|
{ id: true, name: 'True' },
|
|
{ id: false, name: 'False' },
|
|
];
|
|
}
|
|
|
|
return [];
|
|
}),
|
|
getActionDropdownValues: vi.fn(),
|
|
});
|
|
});
|
|
|
|
it('rehydrates boolean conditions as a single selected option', () => {
|
|
const automation = {
|
|
event_name: 'message_created',
|
|
conditions: [
|
|
{
|
|
attribute_key: 'private_note',
|
|
filter_operator: 'equal_to',
|
|
values: [false],
|
|
query_operator: null,
|
|
},
|
|
],
|
|
actions: [],
|
|
};
|
|
const automationTypes = {
|
|
message_created: {
|
|
conditions: [{ key: 'private_note', inputType: 'search_select' }],
|
|
},
|
|
};
|
|
|
|
const { formatAutomation } = useEditableAutomation();
|
|
const result = formatAutomation(automation, [], automationTypes, []);
|
|
|
|
expect(result.conditions).toEqual([
|
|
{
|
|
attribute_key: 'private_note',
|
|
filter_operator: 'equal_to',
|
|
values: { id: false, name: 'False' },
|
|
query_operator: 'and',
|
|
},
|
|
]);
|
|
});
|
|
});
|