blob: 7b63c179a04eb241cb32159438d0298ecba6fcb4 [file] [log] [blame]
import ChartMetadata from '@superset-ui/core/src/chart/models/ChartMetadata';
describe('ChartMetadata', () => {
it('exists', () => {
expect(ChartMetadata).toBeDefined();
});
describe('new ChartMetadata({})', () => {
it('creates new metadata instance', () => {
const metadata = new ChartMetadata({
name: 'test chart',
credits: [],
description: 'some kind of chart',
thumbnail: 'test.png',
});
expect(metadata).toBeInstanceOf(ChartMetadata);
});
});
describe('.canBeAnnotationType(type)', () => {
const metadata = new ChartMetadata({
name: 'test chart',
canBeAnnotationTypes: ['event'],
credits: [],
description: 'some kind of chart',
thumbnail: 'test.png',
});
it('returns true if can', () => {
expect(metadata.canBeAnnotationType('event')).toBeTruthy();
});
it('returns false otherwise', () => {
expect(metadata.canBeAnnotationType('invalid-type')).toBeFalsy();
});
});
describe('.clone()', () => {
const metadata = new ChartMetadata({
name: 'test chart',
canBeAnnotationTypes: ['event'],
credits: [],
description: 'some kind of chart',
thumbnail: 'test.png',
});
const clone = metadata.clone();
it('returns a new instance', () => {
expect(metadata).not.toBe(clone);
});
it('returns a new instance with same field values', () => {
expect(metadata.name).toEqual(clone.name);
expect(metadata.credits).toEqual(clone.credits);
expect(metadata.description).toEqual(clone.description);
expect(metadata.canBeAnnotationTypes).toEqual(clone.canBeAnnotationTypes);
expect(metadata.thumbnail).toEqual(clone.thumbnail);
});
});
});