debian-mirror-gitlab/spec/frontend/reports/accessibility_report/store/getters_spec.js
2020-05-24 23:13:21 +05:30

149 lines
4.1 KiB
JavaScript

import * as getters from '~/reports/accessibility_report/store/getters';
import createStore from '~/reports/accessibility_report/store';
import { LOADING, ERROR, SUCCESS, STATUS_FAILED } from '~/reports/constants';
describe('Accessibility reports store getters', () => {
let localState;
let localStore;
beforeEach(() => {
localStore = createStore();
localState = localStore.state;
});
describe('summaryStatus', () => {
describe('when summary is loading', () => {
it('returns loading status', () => {
localState.isLoading = true;
expect(getters.summaryStatus(localState)).toEqual(LOADING);
});
});
describe('when summary has error', () => {
it('returns error status', () => {
localState.hasError = true;
expect(getters.summaryStatus(localState)).toEqual(ERROR);
});
});
describe('when summary has failed status', () => {
it('returns loading status', () => {
localState.status = STATUS_FAILED;
expect(getters.summaryStatus(localState)).toEqual(ERROR);
});
});
describe('when summary has successfully loaded', () => {
it('returns loading status', () => {
expect(getters.summaryStatus(localState)).toEqual(SUCCESS);
});
});
});
describe('groupedSummaryText', () => {
describe('when state is loading', () => {
it('returns the loading summary message', () => {
localState.isLoading = true;
const result = 'Accessibility scanning results are being parsed';
expect(getters.groupedSummaryText(localState)).toEqual(result);
});
});
describe('when state has error', () => {
it('returns the error summary message', () => {
localState.hasError = true;
const result = 'Accessibility scanning failed loading results';
expect(getters.groupedSummaryText(localState)).toEqual(result);
});
});
describe('when state has successfully loaded', () => {
describe('when report has errors', () => {
it('returns summary message containing number of errors', () => {
localState.report = {
summary: {
errored: 2,
},
};
const result = 'Accessibility scanning detected 2 issues for the source branch only';
expect(getters.groupedSummaryText(localState)).toEqual(result);
});
});
describe('when report has no errors', () => {
it('returns summary message containing no errors', () => {
localState.report = {
summary: {
errored: 0,
},
};
const result = 'Accessibility scanning detected no issues for the source branch only';
expect(getters.groupedSummaryText(localState)).toEqual(result);
});
});
});
});
describe('shouldRenderIssuesList', () => {
describe('when has issues to render', () => {
it('returns true', () => {
localState.report = {
existing_errors: [{ name: 'Issue' }],
};
expect(getters.shouldRenderIssuesList(localState)).toEqual(true);
});
});
describe('when does not have issues to render', () => {
it('returns false', () => {
localState.report = {
status: 'success',
summary: { errored: 0 },
};
expect(getters.shouldRenderIssuesList(localState)).toEqual(false);
});
});
});
describe('unresolvedIssues', () => {
it('returns the array unresolved errors', () => {
localState.report = {
existing_errors: [1],
};
const result = [1];
expect(getters.unresolvedIssues(localState)).toEqual(result);
});
});
describe('resolvedIssues', () => {
it('returns array of resolved errors', () => {
localState.report = {
resolved_errors: [1],
};
const result = [1];
expect(getters.resolvedIssues(localState)).toEqual(result);
});
});
describe('newIssues', () => {
it('returns array of new errors', () => {
localState.report = {
new_errors: [1],
};
const result = [1];
expect(getters.newIssues(localState)).toEqual(result);
});
});
});