diff --git a/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/pom.xml b/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/pom.xml index 4d2fee5ea5..adb05ad80e 100644 --- a/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/pom.xml +++ b/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/pom.xml @@ -93,6 +93,19 @@ jbpm-console-ng-generic-client jar + + + + org.mockito + mockito-core + test + + + + com.google.gwt.gwtmockito + gwtmockito + test + diff --git a/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/main/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TasksListGridViewImpl.java b/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/main/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TasksListGridViewImpl.java index 63018abd92..f7fe41f191 100644 --- a/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/main/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TasksListGridViewImpl.java +++ b/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/main/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TasksListGridViewImpl.java @@ -38,6 +38,7 @@ import com.google.gwt.view.client.DefaultSelectionEventManager; import com.google.gwt.view.client.NoSelectionModel; import com.google.gwt.view.client.SelectionChangeEvent; +import org.jbpm.console.ng.gc.client.experimental.grid.base.ExtendedPagedTable; import org.jbpm.console.ng.gc.client.list.base.AbstractListView; import org.jbpm.console.ng.ht.client.i18n.Constants; import org.jbpm.console.ng.ht.client.resources.HumanTasksImages; @@ -63,6 +64,15 @@ public class TasksListGridViewImpl extends AbstractListView implements TasksListGridPresenter.TaskListView { + public static final String COL_ID_ID ="t.id"; + public static final String COL_ID_NAME ="t.name"; + public static final String COL_ID_DESCRIPTION ="t.description"; + public static final String COL_ID_PRIORITY ="t.priority" ; + public static final String COL_ID_STATUS ="t.taskData.status"; + public static final String COL_ID_CREATEON ="t.taskData.createdOn"; + public static final String COL_ID_EXPIRATIONTIME ="t.taskData.expirationTime"; + public static final String COL_ID_ACTIONS ="Actions"; + interface Binder extends UiBinder { @@ -90,10 +100,12 @@ interface Binder @Override public void init(final TasksListGridPresenter presenter) { List bannedColumns = new ArrayList(); - bannedColumns.add(constants.Task()); + bannedColumns.add(COL_ID_NAME); + bannedColumns.add(COL_ID_ACTIONS); List initColumns = new ArrayList(); - initColumns.add(constants.Task()); - initColumns.add(constants.Description()); + initColumns.add(COL_ID_NAME); + initColumns.add(COL_ID_DESCRIPTION); + initColumns.add(COL_ID_ACTIONS); super.init(presenter, new GridGlobalPreferences("TaskListGrid", initColumns, bannedColumns)); selectedStyles = new RowStyles() { @@ -361,7 +373,7 @@ public Number getValue(TaskSummary object) { } }; taskIdColumn.setSortable(true); - taskIdColumn.setDataStoreName("t.id"); + taskIdColumn.setDataStoreName(COL_ID_ID); return taskIdColumn; } @@ -373,7 +385,7 @@ public String getValue(TaskSummary object) { } }; taskNameColumn.setSortable(true); - taskNameColumn.setDataStoreName("t.name"); + taskNameColumn.setDataStoreName(COL_ID_NAME); return taskNameColumn; } @@ -385,7 +397,7 @@ public String getValue(TaskSummary object) { } }; descriptionColumn.setSortable(true); - descriptionColumn.setDataStoreName("t.description"); + descriptionColumn.setDataStoreName(COL_ID_DESCRIPTION); return descriptionColumn; } @@ -397,7 +409,7 @@ public Number getValue(TaskSummary object) { } }; taskPriorityColumn.setSortable(true); - taskPriorityColumn.setDataStoreName("t.priority"); + taskPriorityColumn.setDataStoreName(COL_ID_PRIORITY); return taskPriorityColumn; } @@ -409,7 +421,7 @@ public String getValue(TaskSummary object) { } }; statusColumn.setSortable(true); - statusColumn.setDataStoreName("t.taskData.status"); + statusColumn.setDataStoreName(COL_ID_STATUS); return statusColumn; } @@ -426,7 +438,7 @@ public String getValue(TaskSummary object) { } }; createdOnDateColumn.setSortable(true); - createdOnDateColumn.setDataStoreName("t.taskData.createdOn"); + createdOnDateColumn.setDataStoreName(COL_ID_CREATEON); return createdOnDateColumn; } @@ -443,7 +455,7 @@ public String getValue(TaskSummary object) { } }; dueDateColumn.setSortable(true); - dueDateColumn.setDataStoreName("t.taskData.expirationTime"); + dueDateColumn.setDataStoreName(COL_ID_EXPIRATIONTIME); return dueDateColumn; } @@ -492,6 +504,7 @@ public TaskSummary getValue(TaskSummary object) { return object; } }; + actionsColumn.setDataStoreName(COL_ID_ACTIONS); return actionsColumn; } @@ -629,4 +642,8 @@ private void closePlace(String place) { placeManager.closePlace(place); } } + + public void setListGrid(ExtendedPagedTable newListGrid){ + this.listGrid =newListGrid; + } } diff --git a/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/test/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TaskListGridViewTest.java b/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/test/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TaskListGridViewTest.java new file mode 100644 index 0000000000..ccdd868746 --- /dev/null +++ b/jbpm-console-ng-human-tasks/jbpm-console-ng-human-tasks-client/src/test/java/org/jbpm/console/ng/ht/client/editors/taskslist/grid/TaskListGridViewTest.java @@ -0,0 +1,62 @@ +/* + * Copyright 2015 JBoss by Red Hat. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jbpm.console.ng.ht.client.editors.taskslist.grid; + +import java.util.List; + +import com.google.gwtmockito.GwtMockitoTestRunner; +import org.jbpm.console.ng.gc.client.experimental.grid.base.ExtendedPagedTable; +import org.jbpm.console.ng.ht.model.TaskSummary; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; +import org.uberfire.ext.widgets.common.client.tables.ColumnMeta; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith( GwtMockitoTestRunner.class ) +public class TaskListGridViewTest { + + @Mock + protected ExtendedPagedTable currentListGrid; + + @InjectMocks + private TasksListGridViewImpl view; + + @Test + public void testDataStoreNameIsSet() { + doAnswer( new Answer() { + @Override + public Void answer( InvocationOnMock invocationOnMock ) throws Throwable { + final List columns = (List) invocationOnMock.getArguments()[ 0 ]; + for ( ColumnMeta columnMeta : columns ) { + assertNotNull( columnMeta.getColumn().getDataStoreName() ); + } + return null; + } + } ).when( currentListGrid ).addColumns( anyList() ); + + view.setListGrid(currentListGrid); + view.initColumns( ); + + verify( currentListGrid ).addColumns( anyList() ); + } + +}