mirror of
https://github.com/n8n-io/n8n.git
synced 2026-06-02 01:37:07 +02:00
69 lines
1.7 KiB
TypeScript
69 lines
1.7 KiB
TypeScript
import { FieldsTracker } from '../utils';
|
|
|
|
describe('FieldsTracker', () => {
|
|
let fieldsTracker: FieldsTracker;
|
|
|
|
beforeEach(() => {
|
|
fieldsTracker = new FieldsTracker();
|
|
});
|
|
|
|
describe('add', () => {
|
|
it('should add field with false value', () => {
|
|
fieldsTracker.add('testField');
|
|
|
|
expect(fieldsTracker.fields.testField).toBe(false);
|
|
});
|
|
|
|
it('should not overwrite existing field', () => {
|
|
fieldsTracker.add('testField');
|
|
fieldsTracker.fields.testField = true;
|
|
fieldsTracker.add('testField');
|
|
|
|
expect(fieldsTracker.fields.testField).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe('update', () => {
|
|
it('should update field from false to true', () => {
|
|
fieldsTracker.add('testField');
|
|
fieldsTracker.update('testField', true);
|
|
|
|
expect(fieldsTracker.fields.testField).toBe(true);
|
|
});
|
|
|
|
it('should not update field from true to false', () => {
|
|
fieldsTracker.add('testField');
|
|
fieldsTracker.fields.testField = true;
|
|
fieldsTracker.update('testField', false);
|
|
|
|
expect(fieldsTracker.fields.testField).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe('getHints', () => {
|
|
it('should return empty array when no fields tracked', () => {
|
|
expect(fieldsTracker.getHints()).toEqual([]);
|
|
});
|
|
|
|
it('should return hint for missing field', () => {
|
|
fieldsTracker.add('missingField');
|
|
|
|
const hints = fieldsTracker.getHints();
|
|
|
|
expect(hints).toEqual([
|
|
{
|
|
message: "The field 'missingField' wasn't found in any input item",
|
|
location: 'outputPane',
|
|
},
|
|
]);
|
|
});
|
|
|
|
it('should not return hint for found field', () => {
|
|
fieldsTracker.add('foundField');
|
|
fieldsTracker.update('foundField', true);
|
|
|
|
expect(fieldsTracker.getHints()).toEqual([]);
|
|
});
|
|
});
|
|
});
|