Files
directus/packages/shared/tests/utils/add-field-flag.test.ts
2022-05-27 12:43:54 -04:00

52 lines
1.3 KiB
TypeScript

import { RawField } from '../../src/types/fields';
import { addFieldFlag } from '../../src/utils/add-field-flag';
describe('addFieldFlag', () => {
it('Adds a flag to a field without meta', () => {
const field: RawField = {
field: 'some_field',
type: 'string',
};
addFieldFlag(field, 'cast-timestamp');
expect(field.meta).toEqual({
special: ['cast-timestamp'],
});
});
it('Adds a flag to a field without existing flags', () => {
const field: RawField = {
field: 'some_field',
type: 'string',
meta: { special: null },
};
addFieldFlag(field, 'cast-timestamp');
expect(field.meta).toEqual({
special: ['cast-timestamp'],
});
});
it('Adds a flag to a field with existing flags', () => {
const field: RawField = {
field: 'some_field',
type: 'string',
meta: { special: ['cast-datetime'] },
};
addFieldFlag(field, 'cast-timestamp');
expect(field.meta).toEqual({
special: ['cast-datetime', 'cast-timestamp'],
});
});
it('Does not add a duplicate flag to a field with existing flags', () => {
const field: RawField = {
field: 'some_field',
type: 'string',
meta: { special: ['cast-datetime', 'cast-timestamp'] },
};
addFieldFlag(field, 'cast-datetime');
expect(field.meta).toEqual({
special: ['cast-datetime', 'cast-timestamp'],
});
});
});