166 lines
5.2 KiB
JavaScript
166 lines
5.2 KiB
JavaScript
|
import PipelineStore from '~/pipelines/stores/pipeline_store';
|
||
|
import LinkedPipelines from '../linked_pipelines_mock.json';
|
||
|
|
||
|
describe('EE Pipeline store', () => {
|
||
|
let store;
|
||
|
let data;
|
||
|
|
||
|
beforeEach(() => {
|
||
|
store = new PipelineStore();
|
||
|
data = Object.assign({}, LinkedPipelines);
|
||
|
});
|
||
|
|
||
|
describe('storePipeline', () => {
|
||
|
beforeAll(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
describe('triggered_by', () => {
|
||
|
it('sets triggered_by as an array', () => {
|
||
|
expect(store.state.pipeline.triggered_by.length).toEqual(1);
|
||
|
});
|
||
|
|
||
|
it('adds isExpanding & isLoading keys set to false', () => {
|
||
|
expect(store.state.pipeline.triggered_by[0].isExpanded).toEqual(false);
|
||
|
expect(store.state.pipeline.triggered_by[0].isLoading).toEqual(false);
|
||
|
});
|
||
|
|
||
|
it('parses nested triggered_by', () => {
|
||
|
expect(store.state.pipeline.triggered_by[0].triggered_by.length).toEqual(1);
|
||
|
expect(store.state.pipeline.triggered_by[0].triggered_by[0].isExpanded).toEqual(false);
|
||
|
expect(store.state.pipeline.triggered_by[0].triggered_by[0].isLoading).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('triggered', () => {
|
||
|
it('adds isExpanding & isLoading keys set to false for each triggered pipeline', () => {
|
||
|
store.state.pipeline.triggered.forEach(pipeline => {
|
||
|
expect(pipeline.isExpanded).toEqual(false);
|
||
|
expect(pipeline.isLoading).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('parses nested triggered pipelines', () => {
|
||
|
store.state.pipeline.triggered[1].triggered.forEach(pipeline => {
|
||
|
expect(pipeline.isExpanded).toEqual(false);
|
||
|
expect(pipeline.isLoading).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('resetTriggeredByPipeline', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('closes the pipeline & nested ones', () => {
|
||
|
store.state.pipeline.triggered_by[0].isExpanded = true;
|
||
|
store.state.pipeline.triggered_by[0].triggered_by[0].isExpanded = true;
|
||
|
|
||
|
store.resetTriggeredByPipeline(store.state.pipeline, store.state.pipeline.triggered_by[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered_by[0].isExpanded).toEqual(false);
|
||
|
expect(store.state.pipeline.triggered_by[0].triggered_by[0].isExpanded).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('openTriggeredByPipeline', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('opens the given pipeline', () => {
|
||
|
store.openTriggeredByPipeline(store.state.pipeline, store.state.pipeline.triggered_by[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered_by[0].isExpanded).toEqual(true);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('closeTriggeredByPipeline', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('closes the given pipeline', () => {
|
||
|
// open it first
|
||
|
store.openTriggeredByPipeline(store.state.pipeline, store.state.pipeline.triggered_by[0]);
|
||
|
|
||
|
store.closeTriggeredByPipeline(store.state.pipeline, store.state.pipeline.triggered_by[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered_by[0].isExpanded).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('resetTriggeredPipelines', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('closes the pipeline & nested ones', () => {
|
||
|
store.state.pipeline.triggered[0].isExpanded = true;
|
||
|
store.state.pipeline.triggered[0].triggered[0].isExpanded = true;
|
||
|
|
||
|
store.resetTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered[0].isExpanded).toEqual(false);
|
||
|
expect(store.state.pipeline.triggered[0].triggered[0].isExpanded).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('openTriggeredPipeline', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('opens the given pipeline', () => {
|
||
|
store.openTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered[0].isExpanded).toEqual(true);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('closeTriggeredPipeline', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('closes the given pipeline', () => {
|
||
|
// open it first
|
||
|
store.openTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
|
||
|
|
||
|
store.closeTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered[0].isExpanded).toEqual(false);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('toggleLoading', () => {
|
||
|
beforeEach(() => {
|
||
|
store.storePipeline(data);
|
||
|
});
|
||
|
|
||
|
it('toggles the isLoading property for the given pipeline', () => {
|
||
|
store.togglePipeline(store.state.pipeline.triggered[0]);
|
||
|
|
||
|
expect(store.state.pipeline.triggered[0].isLoading).toEqual(true);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('addExpandedPipelineToRequestData', () => {
|
||
|
it('pushes the given id to expandedPipelines array', () => {
|
||
|
store.addExpandedPipelineToRequestData('213231');
|
||
|
|
||
|
expect(store.state.expandedPipelines).toEqual(['213231']);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('removeExpandedPipelineToRequestData', () => {
|
||
|
it('pushes the given id to expandedPipelines array', () => {
|
||
|
store.removeExpandedPipelineToRequestData('213231');
|
||
|
|
||
|
expect(store.state.expandedPipelines).toEqual([]);
|
||
|
});
|
||
|
});
|
||
|
});
|