blob: cd1b7a019175d3374a0f8be2c6e636566591aa7a [file]
import React from 'react';
import { shallow } from 'enzyme';
import ConfigDiff from '../ConfigDiff';
import JobConfig, { CronJobConfig } from '../JobConfig';
import Loading from '../Loading';
import TaskConfigSummary from '../TaskConfigSummary';
import { JobSummaryBuilder } from 'test-utils/JobBuilders';
import { TaskConfigBuilder, createConfigGroup } from 'test-utils/TaskBuilders';
describe('JobConfig', () => {
it('Should render summaries and diff with configs in order of lowest instance id', () => {
const group0 = createConfigGroup(TaskConfigBuilder, [0, 0]);
const group1 = createConfigGroup(TaskConfigBuilder, [1, 9]);
const group2 = createConfigGroup(TaskConfigBuilder, [10, 10]);
const el = shallow(<JobConfig groups={[group2, group0, group1]} />);
const summaries = el.find(TaskConfigSummary).map((i) => i.props().instances);
expect(summaries).toEqual([group0.instances, group1.instances, group2.instances]);
expect(el.contains(<ConfigDiff groups={[group0, group1, group2]} />)).toBe(true);
});
it('Should render Loading when no groups or cronJob are supplied', () => {
const el = shallow(<JobConfig />);
expect(el.contains(<Loading />)).toBe(true);
});
it('Should render CronJobConfig when cronJob is supplied', () => {
const cron = JobSummaryBuilder.build();
const el = shallow(<JobConfig cronJob={cron} />);
expect(el.contains(<CronJobConfig cronJob={cron} />)).toBe(true);
});
});