Files
directus/packages/utils/shared/add-field-flag.test.ts
Rijk van Zanten c48309ab68 Last eslint tweak (#18198)
* Should be there now

* Format
2023-04-14 17:40:50 -04:00

61 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import type { RawField } from '@directus/types';
import { addFieldFlag } from './add-field-flag.js';
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'],
});
});
});