72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
import PipelineStore from '~/pipelines/stores/pipelines_store';
|
|
|
|
describe('Pipelines Store', () => {
|
|
let store;
|
|
|
|
beforeEach(() => {
|
|
store = new PipelineStore();
|
|
});
|
|
|
|
it('should be initialized with an empty state', () => {
|
|
expect(store.state.pipelines).toEqual([]);
|
|
expect(store.state.count).toEqual({});
|
|
expect(store.state.pageInfo).toEqual({});
|
|
});
|
|
|
|
describe('storePipelines', () => {
|
|
it('should use the default parameter if none is provided', () => {
|
|
store.storePipelines();
|
|
expect(store.state.pipelines).toEqual([]);
|
|
});
|
|
|
|
it('should store the provided array', () => {
|
|
const array = [{ id: 1, status: 'running' }, { id: 2, status: 'success' }];
|
|
store.storePipelines(array);
|
|
expect(store.state.pipelines).toEqual(array);
|
|
});
|
|
});
|
|
|
|
describe('storeCount', () => {
|
|
it('should use the default parameter if none is provided', () => {
|
|
store.storeCount();
|
|
expect(store.state.count).toEqual({});
|
|
});
|
|
|
|
it('should store the provided count', () => {
|
|
const count = { all: 20, finished: 10 };
|
|
store.storeCount(count);
|
|
|
|
expect(store.state.count).toEqual(count);
|
|
});
|
|
});
|
|
|
|
describe('storePagination', () => {
|
|
it('should use the default parameter if none is provided', () => {
|
|
store.storePagination();
|
|
expect(store.state.pageInfo).toEqual({});
|
|
});
|
|
|
|
it('should store pagination information normalized and parsed', () => {
|
|
const pagination = {
|
|
'X-nExt-pAge': '2',
|
|
'X-page': '1',
|
|
'X-Per-Page': '1',
|
|
'X-Prev-Page': '2',
|
|
'X-TOTAL': '37',
|
|
'X-Total-Pages': '2',
|
|
};
|
|
|
|
const expectedResult = {
|
|
perPage: 1,
|
|
page: 1,
|
|
total: 37,
|
|
totalPages: 2,
|
|
nextPage: 2,
|
|
previousPage: 2,
|
|
};
|
|
|
|
store.storePagination(pagination);
|
|
expect(store.state.pageInfo).toEqual(expectedResult);
|
|
});
|
|
});
|
|
});
|