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
|
|
|
});
|
|
|
|
});
|
2018-02-12 11:49:41 -05:00
|
|
|
|
2018-02-27 19:10:43 -05:00
|
|
|
describe('openState', () => {
|
2018-02-12 11:49:41 -05:00
|
|
|
it('should return the issue state', () => {
|
2018-02-27 19:10:43 -05:00
|
|
|
expect(getters.openState(state)).toEqual(noteableDataMock.state);
|
2018-02-12 11:49:41 -05:00
|
|
|
});
|
|
|
|
});
|
2017-08-04 11:51:35 -04:00
|
|
|
});
|