95 lines
2.8 KiB
JavaScript
95 lines
2.8 KiB
JavaScript
import { generateAnnotationsSeries } from '~/monitoring/components/charts/annotations';
|
|
import { deploymentData, annotationsData } from '../../mock_data';
|
|
|
|
describe('annotations spec', () => {
|
|
describe('generateAnnotationsSeries', () => {
|
|
it('with default options', () => {
|
|
const annotations = generateAnnotationsSeries();
|
|
|
|
expect(annotations).toEqual(
|
|
expect.objectContaining({
|
|
type: 'scatter',
|
|
yAxisIndex: 1,
|
|
data: [],
|
|
markLine: {
|
|
data: [],
|
|
symbol: 'none',
|
|
silent: true,
|
|
},
|
|
}),
|
|
);
|
|
});
|
|
|
|
it('when only deployments data is passed', () => {
|
|
const annotations = generateAnnotationsSeries({ deployments: deploymentData });
|
|
|
|
expect(annotations).toEqual(
|
|
expect.objectContaining({
|
|
type: 'scatter',
|
|
yAxisIndex: 1,
|
|
data: expect.any(Array),
|
|
markLine: {
|
|
data: [],
|
|
symbol: 'none',
|
|
silent: true,
|
|
},
|
|
}),
|
|
);
|
|
|
|
annotations.data.forEach(annotation => {
|
|
expect(annotation).toEqual(expect.any(Object));
|
|
});
|
|
|
|
expect(annotations.data).toHaveLength(deploymentData.length);
|
|
});
|
|
|
|
it('when only annotations data is passed', () => {
|
|
const annotations = generateAnnotationsSeries({
|
|
annotations: annotationsData,
|
|
});
|
|
|
|
expect(annotations).toEqual(
|
|
expect.objectContaining({
|
|
type: 'scatter',
|
|
yAxisIndex: 1,
|
|
data: expect.any(Array),
|
|
markLine: expect.any(Object),
|
|
markPoint: expect.any(Object),
|
|
}),
|
|
);
|
|
|
|
annotations.markLine.data.forEach(annotation => {
|
|
expect(annotation).toEqual(expect.any(Object));
|
|
});
|
|
|
|
expect(annotations.data).toHaveLength(0);
|
|
expect(annotations.markLine.data).toHaveLength(annotationsData.length);
|
|
expect(annotations.markPoint.data).toHaveLength(annotationsData.length);
|
|
});
|
|
|
|
it('when deployments and annotations data is passed', () => {
|
|
const annotations = generateAnnotationsSeries({
|
|
deployments: deploymentData,
|
|
annotations: annotationsData,
|
|
});
|
|
|
|
expect(annotations).toEqual(
|
|
expect.objectContaining({
|
|
type: 'scatter',
|
|
yAxisIndex: 1,
|
|
data: expect.any(Array),
|
|
markLine: expect.any(Object),
|
|
markPoint: expect.any(Object),
|
|
}),
|
|
);
|
|
|
|
annotations.markLine.data.forEach(annotation => {
|
|
expect(annotation).toEqual(expect.any(Object));
|
|
});
|
|
|
|
expect(annotations.data).toHaveLength(deploymentData.length);
|
|
expect(annotations.markLine.data).toHaveLength(annotationsData.length);
|
|
expect(annotations.markPoint.data).toHaveLength(annotationsData.length);
|
|
});
|
|
});
|
|
});
|