debian-mirror-gitlab/spec/frontend/ide/stores/modules/file_templates/mutations_spec.js
2021-03-11 19:13:27 +05:30

88 lines
2.3 KiB
JavaScript

import * as types from '~/ide/stores/modules/file_templates/mutation_types';
import mutations from '~/ide/stores/modules/file_templates/mutations';
import createState from '~/ide/stores/modules/file_templates/state';
const mockFileTemplates = [['MIT'], ['CC']];
const mockTemplateType = 'test';
describe('IDE file templates mutations', () => {
let state;
beforeEach(() => {
state = createState();
});
describe(`${types.REQUEST_TEMPLATE_TYPES}`, () => {
it('sets loading to true', () => {
state.isLoading = false;
mutations[types.REQUEST_TEMPLATE_TYPES](state);
expect(state.isLoading).toBe(true);
});
it('sets templates to an empty array', () => {
state.templates = mockFileTemplates;
mutations[types.REQUEST_TEMPLATE_TYPES](state);
expect(state.templates).toEqual([]);
});
});
describe(`${types.RECEIVE_TEMPLATE_TYPES_ERROR}`, () => {
it('sets isLoading', () => {
state.isLoading = true;
mutations[types.RECEIVE_TEMPLATE_TYPES_ERROR](state);
expect(state.isLoading).toBe(false);
});
});
describe(`${types.RECEIVE_TEMPLATE_TYPES_SUCCESS}`, () => {
it('sets isLoading to false', () => {
state.isLoading = true;
mutations[types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, mockFileTemplates);
expect(state.isLoading).toBe(false);
});
it('sets templates to payload', () => {
state.templates = ['test'];
mutations[types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, mockFileTemplates);
expect(state.templates).toEqual(mockFileTemplates);
});
});
describe(`${types.SET_SELECTED_TEMPLATE_TYPE}`, () => {
it('sets templates type to selected type', () => {
state.selectedTemplateType = '';
mutations[types.SET_SELECTED_TEMPLATE_TYPE](state, mockTemplateType);
expect(state.selectedTemplateType).toBe(mockTemplateType);
});
it('sets templates to empty array', () => {
state.templates = mockFileTemplates;
mutations[types.SET_SELECTED_TEMPLATE_TYPE](state, mockTemplateType);
expect(state.templates).toEqual([]);
});
});
describe(`${types.SET_UPDATE_SUCCESS}`, () => {
it('sets updateSuccess', () => {
state.updateSuccess = false;
mutations[types.SET_UPDATE_SUCCESS](state, true);
expect(state.updateSuccess).toBe(true);
});
});
});