150 lines
4.1 KiB
JavaScript
150 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);
|
||
|
});
|
||
|
});
|
||
|
});
|