Merge branch 'origin/master' into 13666-data-explorer-mapper
[arvados-workbench2.git] / src / store / project / project-reducer.test.ts
index 8082809b08465b474bcfd8cab41b15117d672021..65a856bddb8720109cf8d75f044d346c955c4de6 100644 (file)
@@ -39,26 +39,154 @@ describe('project-reducer', () => {
         const projects = [project, project];
         const state = projectsReducer(initialState, actions.PROJECTS_SUCCESS({ projects, parentItemId: undefined }));
         expect(state).toEqual([{
+            active: false,
+            open: false,
+            id: "test123",
+            items: [],
+            data: project,
+            status: 0
+        }, {
+            active: false,
+            open: false,
+            id: "test123",
+            items: [],
+            data: project,
+            status: 0
+        }
+        ]);
+    });
+
+    it('should remove activity on projects list', () => {
+        const initialState = {
+            items: [{
+                data: {
+                    name: 'test',
+                    href: 'href',
+                    createdAt: '2018-01-01',
+                    modifiedAt: '2018-01-01',
+                    ownerUuid: 'owner-test123',
+                    uuid: 'test123',
+                    kind: ResourceKind.PROJECT
+                },
+                id: "1",
+                open: true,
+                active: true,
+                status: 1
+            }],
+            currentItemId: "1"
+        };
+        const project = {
+            items: [{
+                data: {
+                    name: 'test',
+                    href: 'href',
+                    createdAt: '2018-01-01',
+                    modifiedAt: '2018-01-01',
+                    ownerUuid: 'owner-test123',
+                    uuid: 'test123',
+                    kind: ResourceKind.PROJECT
+                },
+                id: "1",
+                open: true,
                 active: false,
-                open: false,
-                id: "test123",
-                items: [],
-                data: project,
-                status: 0
-            }, {
+                status: 1
+            }],
+            currentItemId: "1"
+        };
+
+        const state = projectsReducer(initialState, actions.RESET_PROJECT_TREE_ACTIVITY(initialState[0].id));
+        expect(state).toEqual(project);
+    });
+
+    it('should toggle project tree item activity', () => {
+        const initialState = {
+            items: [{
+                data: {
+                    name: 'test',
+                    href: 'href',
+                    createdAt: '2018-01-01',
+                    modifiedAt: '2018-01-01',
+                    ownerUuid: 'owner-test123',
+                    uuid: 'test123',
+                    kind: ResourceKind.PROJECT
+                },
+                id: "1",
+                open: true,
                 active: false,
+                status: 1
+            }],
+            currentItemId: "1"
+        };
+        const project = {
+            items: [{
+                data: {
+                    name: 'test',
+                    href: 'href',
+                    createdAt: '2018-01-01',
+                    modifiedAt: '2018-01-01',
+                    ownerUuid: 'owner-test123',
+                    uuid: 'test123',
+                    kind: ResourceKind.PROJECT
+                },
+                id: "1",
+                open: true,
+                active: true,
+                status: 1
+            }],
+            currentItemId: "1"
+        };
+
+        const state = projectsReducer(initialState, actions.TOGGLE_PROJECT_TREE_ITEM_ACTIVE(initialState[0].id));
+        expect(state).toEqual(project);
+    });
+
+
+    it('should close project tree item ', () => {
+        const initialState = {
+            items: [{
+                data: {
+                    name: 'test',
+                    href: 'href',
+                    createdAt: '2018-01-01',
+                    modifiedAt: '2018-01-01',
+                    ownerUuid: 'owner-test123',
+                    uuid: 'test123',
+                    kind: ResourceKind.PROJECT
+                },
+                id: "1",
+                open: true,
+                active: false,
+                status: 1,
+                toggled: false,
+            }],
+            currentItemId: "1"
+        };
+        const project = {
+            items: [{
+                data: {
+                    name: 'test',
+                    href: 'href',
+                    createdAt: '2018-01-01',
+                    modifiedAt: '2018-01-01',
+                    ownerUuid: 'owner-test123',
+                    uuid: 'test123',
+                    kind: ResourceKind.PROJECT
+                },
+                id: "1",
                 open: false,
-                id: "test123",
-                items: [],
-                data: project,
-                status: 0
-            }
-        ]);
+                active: false,
+                status: 1,
+                toggled: true
+            }],
+            currentItemId: "1"
+        };
+
+        const state = projectsReducer(initialState, actions.TOGGLE_PROJECT_TREE_ITEM_OPEN(initialState[0].id));
+        expect(state).toEqual(project);
     });
 });
 
 describe("findTreeBranch", () => {
-
     const createTreeItem = (id: string, items?: Array<TreeItem<string>>): TreeItem<string> => ({
         id,
         items,