X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/c90e813adcec89899d9db95843295a84fb058c3e..fc14bf232fe2cb77bf1f14ab0002fca606234214:/src/store/project/project-reducer.test.ts diff --git a/src/store/project/project-reducer.test.ts b/src/store/project/project-reducer.test.ts index e8d6afc6..8cd3121e 100644 --- a/src/store/project/project-reducer.test.ts +++ b/src/store/project/project-reducer.test.ts @@ -2,192 +2,148 @@ // // SPDX-License-Identifier: AGPL-3.0 -import projectsReducer, { getTreePath } from "./project-reducer"; -import actions from "./project-action"; -import { TreeItem, TreeItemStatus } from "../../components/tree/tree"; +import { projectsReducer, getTreePath } from "./project-reducer"; +import { projectActions } from "./project-action"; +import { TreeItem, TreeItemStatus } from "~/components/tree/tree"; +import { mockProjectResource } from "~/models/test-utils"; describe('project-reducer', () => { - it('should add new project to the list', () => { - const initialState = undefined; - const project = { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: "" - }; - - const state = projectsReducer(initialState, actions.CREATE_PROJECT(project)); - expect(state).toEqual([project]); - }); it('should load projects', () => { const initialState = undefined; - const project = { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: "" - }; - 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 - } - ]); + const projects = [mockProjectResource({ uuid: "1" }), mockProjectResource({ uuid: "2" })]; + const state = projectsReducer(initialState, projectActions.PROJECTS_SUCCESS({ projects, parentItemId: undefined })); + expect(state).toEqual({ + items: [{ + active: false, + open: false, + id: "1", + items: [], + data: mockProjectResource({ uuid: "1" }), + status: TreeItemStatus.INITIAL + }, { + active: false, + open: false, + id: "2", + items: [], + data: mockProjectResource({ uuid: "2" }), + status: TreeItemStatus.INITIAL + } + ], + currentItemId: "", + creator: { + opened: false, + ownerUuid: "", + }, + updater: { + opened: false, + uuid: '' + } + }); }); it('should remove activity on projects list', () => { - const initialState = [ - { - data: { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: 'example' - }, + const initialState = { + items: [{ + data: mockProjectResource(), id: "1", open: true, active: true, - status: 1 - } - ]; - const project = [ - { - data: { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: 'example' - }, + status: TreeItemStatus.PENDING + }], + currentItemId: "1", + creator: { opened: false, ownerUuid: "" }, + updater: { opened: false, uuid: '' } + }; + const project = { + items: [{ + data: mockProjectResource(), id: "1", open: true, active: false, - status: 1 - } - ]; + status: TreeItemStatus.PENDING + }], + currentItemId: "", + creator: { opened: false, ownerUuid: "" }, + updater: { opened: false, uuid: '' } + }; - const state = projectsReducer(initialState, actions.RESET_PROJECT_TREE_ACTIVITY(initialState[0].id)); + const state = projectsReducer(initialState, projectActions.RESET_PROJECT_TREE_ACTIVITY(initialState.items[0].id)); expect(state).toEqual(project); }); it('should toggle project tree item activity', () => { - const initialState = [ - { - data: { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: 'example' - }, + const initialState = { + items: [{ + data: mockProjectResource(), id: "1", open: true, active: false, - status: 1 - } - ]; - const project = [ - { - data: { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: 'example' - }, + status: TreeItemStatus.PENDING + }], + currentItemId: "1", + creator: { opened: false, ownerUuid: "" }, + updater: { opened: false, uuid: '' } + }; + const project = { + items: [{ + data: mockProjectResource(), id: "1", open: true, active: true, - status: 1 - } - ]; + status: TreeItemStatus.PENDING, + }], + currentItemId: "1", + creator: { opened: false, ownerUuid: "" }, + updater: { opened: false, uuid: '' } + }; - const state = projectsReducer(initialState, actions.TOGGLE_PROJECT_TREE_ITEM_ACTIVE(initialState[0].id)); + const state = projectsReducer(initialState, projectActions.TOGGLE_PROJECT_TREE_ITEM_ACTIVE(initialState.items[0].id)); expect(state).toEqual(project); }); it('should close project tree item ', () => { - const initialState = [ - { - data: { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: 'example' - }, + const initialState = { + items: [{ + data: mockProjectResource(), id: "1", open: true, active: false, - status: 1, - toggled: false, - } - ]; - const project = [ - { - data: { - name: 'test', - href: 'href', - createdAt: '2018-01-01', - modifiedAt: '2018-01-01', - ownerUuid: 'owner-test123', - uuid: 'test123', - kind: 'example' - }, + status: TreeItemStatus.PENDING, + }], + currentItemId: "1", + creator: { opened: false, ownerUuid: "" }, + updater: { opened: false, uuid: '' } + }; + const project = { + items: [{ + data: mockProjectResource(), id: "1", open: false, active: false, - status: 1, - toggled: true - } - ]; + status: TreeItemStatus.PENDING, + }], + currentItemId: "1", + creator: { opened: false, ownerUuid: "" }, + updater: { opened: false, uuid: '' } + + }; - const state = projectsReducer(initialState, actions.TOGGLE_PROJECT_TREE_ITEM_OPEN(initialState[0].id)); + const state = projectsReducer(initialState, projectActions.TOGGLE_PROJECT_TREE_ITEM_OPEN(initialState.items[0].id)); expect(state).toEqual(project); }); }); describe("findTreeBranch", () => { - const createTreeItem = (id: string, items?: Array>): TreeItem => ({ id, items, active: false, data: "", open: false, - status: TreeItemStatus.Initial + status: TreeItemStatus.INITIAL }); it("should return an array that matches path to the given item", () => {