first commit
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
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([]);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user