gitlab-org--gitlab-foss/spec/javascripts/notes/stores/getters_spec.js

95 lines
2.5 KiB
JavaScript
Raw Normal View History

2017-08-11 14:54:26 -04:00
import * as getters from '~/notes/stores/getters';
2018-06-21 08:22:40 -04:00
import {
notesDataMock,
userDataMock,
noteableDataMock,
individualNote,
collapseNotesMock,
} from '../mock_data';
2017-08-04 11:51:35 -04:00
describe('Getters Notes Store', () => {
2017-08-11 14:54:26 -04:00
let state;
2018-06-05 04:11:13 -04:00
2017-08-11 14:54:26 -04:00
beforeEach(() => {
state = {
2018-06-21 08:22:40 -04:00
discussions: [individualNote],
2017-08-11 14:54:26 -04:00
targetNoteHash: 'hash',
lastFetchedAt: 'timestamp',
isNotesFetched: false,
2017-08-11 14:54:26 -04:00
notesData: notesDataMock,
userData: userDataMock,
2017-11-30 17:44:41 -05:00
noteableData: noteableDataMock,
2017-08-11 14:54:26 -04:00
};
});
2018-06-21 08:22:40 -04:00
describe('discussions', () => {
it('should return all discussions in the store', () => {
expect(getters.discussions(state)).toEqual([individualNote]);
2017-08-04 11:51:35 -04:00
});
});
2018-06-05 04:11:13 -04:00
describe('Collapsed notes', () => {
const stateCollapsedNotes = {
2018-06-21 08:22:40 -04:00
discussions: collapseNotesMock,
2018-06-05 04:11:13 -04:00
targetNoteHash: 'hash',
lastFetchedAt: 'timestamp',
notesData: notesDataMock,
userData: userDataMock,
noteableData: noteableDataMock,
};
it('should return a single system note when a description was updated multiple times', () => {
2018-06-21 08:22:40 -04:00
expect(getters.discussions(stateCollapsedNotes).length).toEqual(1);
2018-06-05 04:11:13 -04:00
});
});
2017-08-04 11:51:35 -04:00
describe('targetNoteHash', () => {
it('should return `targetNoteHash`', () => {
2017-08-11 14:54:26 -04:00
expect(getters.targetNoteHash(state)).toEqual('hash');
2017-08-04 11:51:35 -04:00
});
});
describe('getNotesData', () => {
it('should return all data in `notesData`', () => {
2017-08-11 14:54:26 -04:00
expect(getters.getNotesData(state)).toEqual(notesDataMock);
2017-08-04 11:51:35 -04:00
});
});
2017-11-30 17:44:41 -05:00
describe('getNoteableData', () => {
it('should return all data in `noteableData`', () => {
expect(getters.getNoteableData(state)).toEqual(noteableDataMock);
2017-08-04 11:51:35 -04:00
});
});
describe('getUserData', () => {
it('should return all data in `userData`', () => {
2017-08-11 14:54:26 -04:00
expect(getters.getUserData(state)).toEqual(userDataMock);
2017-08-04 11:51:35 -04:00
});
});
describe('notesById', () => {
it('should return the note for the given id', () => {
2017-08-11 14:54:26 -04:00
expect(getters.notesById(state)).toEqual({ 1390: individualNote.notes[0] });
2017-08-04 11:51:35 -04:00
});
});
describe('getCurrentUserLastNote', () => {
it('should return the last note of the current user', () => {
2017-08-11 14:54:26 -04:00
expect(getters.getCurrentUserLastNote(state)).toEqual(individualNote.notes[0]);
2017-08-04 11:51:35 -04:00
});
});
describe('openState', () => {
it('should return the issue state', () => {
expect(getters.openState(state)).toEqual(noteableDataMock.state);
});
});
describe('isNotesFetched', () => {
it('should return the state for the fetching notes', () => {
expect(getters.isNotesFetched(state)).toBeFalsy();
});
});
2017-08-04 11:51:35 -04:00
});