mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
* update column.vue, getters/task.js, getters/user.js and add unittests and helpers * add vue-test-utils pkg + unit test for column.vue * add unit test column.vue * update unit tests * fix linting errors
119 lines
2.8 KiB
JavaScript
119 lines
2.8 KiB
JavaScript
import generateStore from 'client/store';
|
|
|
|
describe('Store Getters for Tasks', () => {
|
|
let store, habits, dailys, todos, rewards;
|
|
|
|
beforeEach(() => {
|
|
store = generateStore();
|
|
// Get user preference data and user tasks order data
|
|
store.state.user.data = {
|
|
preferences: {},
|
|
tasksOrder: {
|
|
habits: [],
|
|
dailys: [],
|
|
todos: [],
|
|
rewards: [],
|
|
},
|
|
};
|
|
});
|
|
|
|
describe('Task List', () => {
|
|
beforeEach(() => {
|
|
habits = [
|
|
{ id: 1 },
|
|
{ id: 2 },
|
|
];
|
|
dailys = [
|
|
{ id: 3 },
|
|
{ id: 4 },
|
|
];
|
|
todos = [
|
|
{ id: 5 },
|
|
{ id: 6 },
|
|
];
|
|
rewards = [
|
|
{ id: 7 },
|
|
{ id: 8 },
|
|
];
|
|
store.state.tasks.data = {
|
|
habits,
|
|
dailys,
|
|
todos,
|
|
rewards,
|
|
};
|
|
});
|
|
|
|
it('should returns all tasks by task type', () => {
|
|
let returnedTasks = store.getters['tasks:getUnfilteredTaskList']('habit');
|
|
expect(returnedTasks).to.eq(habits);
|
|
|
|
returnedTasks = store.getters['tasks:getUnfilteredTaskList']('daily');
|
|
expect(returnedTasks).to.eq(dailys);
|
|
|
|
returnedTasks = store.getters['tasks:getUnfilteredTaskList']('todo');
|
|
expect(returnedTasks).to.eq(todos);
|
|
|
|
returnedTasks = store.getters['tasks:getUnfilteredTaskList']('reward');
|
|
expect(returnedTasks).to.eq(rewards);
|
|
});
|
|
});
|
|
|
|
// @TODO add task filter check for rewards and dailys
|
|
describe('Task Filters', () => {
|
|
beforeEach(() => {
|
|
habits = [
|
|
// weak habit
|
|
{ value: 0 },
|
|
// strong habit
|
|
{ value: 2 },
|
|
];
|
|
todos = [
|
|
// scheduled todos
|
|
{ completed: false, date: 'Mon, 15 Jan 2018 12:18:29 GMT' },
|
|
// completed todos
|
|
{ completed: true },
|
|
];
|
|
store.state.tasks.data = {
|
|
habits,
|
|
todos,
|
|
};
|
|
});
|
|
|
|
it('should return weak habits', () => {
|
|
let returnedTasks = store.getters['tasks:getFilteredTaskList']({
|
|
type: 'habit',
|
|
filterType: 'yellowred',
|
|
});
|
|
|
|
expect(returnedTasks[0]).to.eq(habits[0]);
|
|
});
|
|
|
|
it('should return strong habits', () => {
|
|
let returnedTasks = store.getters['tasks:getFilteredTaskList']({
|
|
type: 'habit',
|
|
filterType: 'greenblue',
|
|
});
|
|
|
|
expect(returnedTasks[0]).to.eq(habits[1]);
|
|
});
|
|
|
|
it('should return scheduled todos', () => {
|
|
let returnedTasks = store.getters['tasks:getFilteredTaskList']({
|
|
type: 'todo',
|
|
filterType: 'scheduled',
|
|
});
|
|
|
|
expect(returnedTasks[0]).to.eq(todos[0]);
|
|
});
|
|
|
|
it('should return completed todos', () => {
|
|
let returnedTasks = store.getters['tasks:getFilteredTaskList']({
|
|
type: 'todo',
|
|
filterType: 'complete2',
|
|
});
|
|
|
|
expect(returnedTasks[0]).to.eq(todos[1]);
|
|
});
|
|
});
|
|
});
|