package org.camunda.bpm.extension.mockito.query; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import java.util.Date; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.task.Task; import org.camunda.bpm.engine.task.TaskQuery; //import org.camunda.bpm.extension.mockito.QueryMocks1; import org.camunda.bpm.extension.mockito.CamundaMockito; import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; public class TaskQueryMockTest { private final TaskService taskService = mock(TaskService.class); private final Task singleResult = mock(Task.class); @Test public void should_mock_query_and_return_singleResult() { final TaskQuery taskQuery = CamundaMockito.mockTaskQuery(taskService).singleResult(singleResult); assertThat(taskService.createTaskQuery().singleResult()).isEqualTo(singleResult); Mockito.verify(taskQuery).singleResult(); } @Test public void singleResult_for_activityName() { CamundaMockito.mockTaskQuery(taskService).singleResult(singleResult); assertThat(taskService.createTaskQuery().taskDefinitionKey("").singleResult()).isEqualTo(singleResult); } @Test public void singleResult_for_everything() { final TaskQuery taskQuery = new TaskQueryMock().forService(taskService).singleResult(singleResult); // @formatter:off assertThat( taskService.createTaskQuery() .taskDefinitionKey("") .processInstanceBusinessKey("") .taskDefinitionKey("") .taskId("") .taskUnassigned() .processInstanceId("pid") .active() .activityInstanceIdIn("") .dueAfter(new Date()) .dueBefore(new Date()) .dueDate(new Date()) .excludeSubtasks() .executionId("") .processDefinitionId("") .processDefinitionKey("") .asc() .desc() .singleResult()).isEqualTo(singleResult); // @formatter:on verify(taskQuery).processInstanceId("pid"); } @Test public void count_on_taskQuery() throws Exception { final TaskQuery taskQuery = new TaskQueryMock().forService(taskService).count(5); assertThat(taskService.createTaskQuery().active().processDefinitionKey("foo").count()).isEqualTo(5); } }