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

82 lines
2.3 KiB
JavaScript
Raw Normal View History

2017-08-11 14:54:26 -04:00
import * as getters from '~/notes/stores/getters';
2018-06-05 04:11:13 -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 = {
notes: [individualNote],
targetNoteHash: 'hash',
lastFetchedAt: 'timestamp',
notesData: notesDataMock,
userData: userDataMock,
2017-11-30 17:44:41 -05:00
noteableData: noteableDataMock,
2017-08-11 14:54:26 -04:00
};
});
2017-08-04 11:51:35 -04:00
describe('notes', () => {
it('should return all notes in the store', () => {
2017-08-11 14:54:26 -04:00
expect(getters.notes(state)).toEqual([individualNote]);
2017-08-04 11:51:35 -04:00
});
});
2018-06-05 04:11:13 -04:00
describe('Collapsed notes', () => {
const stateCollapsedNotes = {
notes: collapseNotesMock,
targetNoteHash: 'hash',
lastFetchedAt: 'timestamp',
notesData: notesDataMock,
userData: userDataMock,
noteableData: noteableDataMock,
};
it('should return a single system note when a description was updated multiple times', () => {
expect(getters.notes(stateCollapsedNotes).length).toEqual(1);
});
});
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);
});
});
2017-08-04 11:51:35 -04:00
});