mirror of
https://github.com/directus/directus.git
synced 2026-02-18 10:11:47 -05:00
61 lines
1.3 KiB
TypeScript
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'],
|
|
});
|
|
});
|
|
});
|