1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import projectsReducer from "./project-reducer";
6 import actions from "./project-action";
8 describe('project-reducer', () => {
9 it('should add new project to the list', () => {
10 const initialState = undefined;
14 createdAt: '2018-01-01',
15 modifiedAt: '2018-01-01',
16 ownerUuid: 'owner-test123',
20 const state = projectsReducer(initialState, actions.CREATE_PROJECT(project));
21 expect(state).toEqual([project]);
24 it('should load projects', () => {
25 const initialState = undefined;
29 createdAt: '2018-01-01',
30 modifiedAt: '2018-01-01',
31 ownerUuid: 'owner-test123',
35 const projects = [project, project];
36 const state = projectsReducer(initialState, actions.PROJECTS_SUCCESS({ projects, parentItemId: undefined }));
37 expect(state).toEqual([{
55 it('should remove activity on projects list', () => {
56 const initialState = [
61 createdAt: '2018-01-01',
62 modifiedAt: '2018-01-01',
63 ownerUuid: 'owner-test123',
77 createdAt: '2018-01-01',
78 modifiedAt: '2018-01-01',
79 ownerUuid: 'owner-test123',
89 const state = projectsReducer(initialState, actions.RESET_PROJECT_TREE_ACTIVITY(initialState[0].id));
90 expect(state).toEqual(project);
93 it('should toggle project tree item activity', () => {
94 const initialState = [
99 createdAt: '2018-01-01',
100 modifiedAt: '2018-01-01',
101 ownerUuid: 'owner-test123',
115 createdAt: '2018-01-01',
116 modifiedAt: '2018-01-01',
117 ownerUuid: 'owner-test123',
127 const state = projectsReducer(initialState, actions.TOGGLE_PROJECT_TREE_ITEM_ACTIVE(initialState[0].id));
128 expect(state).toEqual(project);
132 it('should close project tree item ', () => {
133 const initialState = [
138 createdAt: '2018-01-01',
139 modifiedAt: '2018-01-01',
140 ownerUuid: 'owner-test123',
155 createdAt: '2018-01-01',
156 modifiedAt: '2018-01-01',
157 ownerUuid: 'owner-test123',
168 const state = projectsReducer(initialState, actions.TOGGLE_PROJECT_TREE_ITEM_OPEN(initialState[0].id));
169 expect(state).toEqual(project);