76 lines
2.4 KiB
JavaScript
76 lines
2.4 KiB
JavaScript
import * as getters from '~/contributors/stores/getters';
|
|
|
|
describe('Contributors Store Getters', () => {
|
|
const state = {};
|
|
|
|
describe('showChart', () => {
|
|
it('should NOT show chart if loading', () => {
|
|
state.loading = true;
|
|
|
|
expect(getters.showChart(state)).toEqual(false);
|
|
});
|
|
|
|
it('should NOT show chart there is not data', () => {
|
|
state.loading = false;
|
|
state.chartData = null;
|
|
|
|
expect(getters.showChart(state)).toEqual(false);
|
|
});
|
|
|
|
it('should show the chart in case loading complated and there is data', () => {
|
|
state.loading = false;
|
|
state.chartData = true;
|
|
|
|
expect(getters.showChart(state)).toEqual(true);
|
|
});
|
|
|
|
describe('parsedData', () => {
|
|
let parsed;
|
|
|
|
beforeAll(() => {
|
|
state.chartData = [
|
|
{ author_name: 'John Smith', author_email: 'jawnnypoo@gmail.com', date: '2019-05-05' },
|
|
{ author_name: 'John', author_email: 'jawnnypoo@gmail.com', date: '2019-05-05' },
|
|
{ author_name: 'Carlson', author_email: 'carlson123@gitlab.com', date: '2019-03-03' },
|
|
{ author_name: 'Carlson', author_email: 'carlson123@gmail.com', date: '2019-05-05' },
|
|
{ author_name: 'John', author_email: 'jawnnypoo@gmail.com', date: '2019-04-04' },
|
|
{ author_name: 'Johan', author_email: 'jawnnypoo@gmail.com', date: '2019-04-04' },
|
|
{ author_name: 'John', author_email: 'jawnnypoo@gmail.com', date: '2019-03-03' },
|
|
];
|
|
parsed = getters.parsedData(state);
|
|
});
|
|
|
|
it('should group contributions by date', () => {
|
|
expect(parsed.total).toMatchObject({ '2019-05-05': 3, '2019-03-03': 2, '2019-04-04': 2 });
|
|
});
|
|
|
|
it('should group contributions by email and use most recent name', () => {
|
|
expect(parsed.byAuthorEmail).toMatchObject({
|
|
'carlson123@gmail.com': {
|
|
name: 'Carlson',
|
|
commits: 1,
|
|
dates: {
|
|
'2019-05-05': 1,
|
|
},
|
|
},
|
|
'carlson123@gitlab.com': {
|
|
name: 'Carlson',
|
|
commits: 1,
|
|
dates: {
|
|
'2019-03-03': 1,
|
|
},
|
|
},
|
|
'jawnnypoo@gmail.com': {
|
|
name: 'John Smith',
|
|
commits: 5,
|
|
dates: {
|
|
'2019-03-03': 1,
|
|
'2019-04-04': 2,
|
|
'2019-05-05': 2,
|
|
},
|
|
},
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|