TSK-285: Adjust acceptance tests for the monitoring
- All tests now have the same structure - Each test prints the report in the debug mode - Change workbasket id/classification id to key in the reports
This commit is contained in:
parent
869e4fb325
commit
ecf3f1d317
|
@ -18,19 +18,19 @@ import pro.taskana.impl.TaskState;
|
|||
public interface TaskMonitorMapper {
|
||||
|
||||
@Select("<script>"
|
||||
+ "<if test=\"_databaseId == 'db2'\">SELECT WORKBASKET_ID, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">SELECT WORKBASKET_ID, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'db2'\">SELECT WORKBASKET_KEY, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">SELECT WORKBASKET_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "FROM TASK "
|
||||
+ "WHERE WORKBASKET_ID IN (<foreach collection='workbasketIds' item='workbasketId' separator=','>#{workbasketId}</foreach>) "
|
||||
+ "AND STATE IN (<foreach collection='states' item='state' separator=','>#{state}</foreach>) "
|
||||
+ "AND CLASSIFICATION_CATEGORY IN (<foreach collection='categories' item='category' separator=','>#{category}</foreach>) "
|
||||
+ "AND DOMAIN IN (<foreach collection='domains' item='domain' separator=','>#{domain}</foreach>) "
|
||||
+ "AND DUE IS NOT NULL "
|
||||
+ "<if test=\"_databaseId == 'db2'\">GROUP BY WORKBASKET_ID, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP))</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">GROUP BY WORKBASKET_ID, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE)</if> "
|
||||
+ "<if test=\"_databaseId == 'db2'\">GROUP BY WORKBASKET_KEY, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP))</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">GROUP BY WORKBASKET_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE)</if> "
|
||||
+ "</script>")
|
||||
@Results({
|
||||
@Result(column = "WORKBASKET_ID", property = "key"),
|
||||
@Result(column = "WORKBASKET_KEY", property = "key"),
|
||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays"),
|
||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks") })
|
||||
List<MonitorQueryItem> getTaskCountOfWorkbasketsByWorkbasketsAndStates(
|
||||
|
@ -62,19 +62,19 @@ public interface TaskMonitorMapper {
|
|||
@Param("domains") List<String> domains);
|
||||
|
||||
@Select("<script>"
|
||||
+ "<if test=\"_databaseId == 'db2'\">SELECT CLASSIFICATION_ID, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">SELECT CLASSIFICATION_ID, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'db2'\">SELECT CLASSIFICATION_KEY, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">SELECT CLASSIFICATION_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "FROM TASK "
|
||||
+ "WHERE WORKBASKET_ID IN (<foreach collection='workbasketIds' item='workbasketId' separator=','>#{workbasketId}</foreach>) "
|
||||
+ "AND STATE IN (<foreach collection='states' item='state' separator=','>#{state}</foreach>) "
|
||||
+ "AND CLASSIFICATION_CATEGORY IN (<foreach collection='categories' item='category' separator=','>#{category}</foreach>) "
|
||||
+ "AND DOMAIN IN (<foreach collection='domains' item='domain' separator=','>#{domain}</foreach>) "
|
||||
+ "AND DUE IS NOT NULL "
|
||||
+ "<if test=\"_databaseId == 'db2'\">GROUP BY CLASSIFICATION_ID, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP))</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">GROUP BY CLASSIFICATION_ID, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE)</if> "
|
||||
+ "<if test=\"_databaseId == 'db2'\">GROUP BY CLASSIFICATION_KEY, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP))</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">GROUP BY CLASSIFICATION_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE)</if> "
|
||||
+ "</script>")
|
||||
@Results({
|
||||
@Result(column = "CLASSIFICATION_ID", property = "key"),
|
||||
@Result(column = "CLASSIFICATION_KEY", property = "key"),
|
||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays"),
|
||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks") })
|
||||
List<MonitorQueryItem> getTaskCountOfClassificationsByWorkbasketsAndStates(
|
||||
|
@ -84,20 +84,20 @@ public interface TaskMonitorMapper {
|
|||
@Param("domains") List<String> domains);
|
||||
|
||||
@Select("<script>"
|
||||
+ "<if test=\"_databaseId == 'db2'\">SELECT T.CLASSIFICATION_ID as TASK_CLASSIFICATION_ID, A.CLASSIFICATION_ID as ATTACHMENT_CLASSIFICATION_ID, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">SELECT T.CLASSIFICATION_ID as TASK_CLASSIFICATION_ID, A.CLASSIFICATION_ID as ATTACHMENT_CLASSIFICATION_ID, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'db2'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE) as AGE_IN_DAYS, COUNT(*) as NUMBER_OF_TASKS</if> "
|
||||
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
||||
+ "WHERE T.WORKBASKET_ID IN (<foreach collection='workbasketIds' item='workbasketId' separator=','>#{workbasketId}</foreach>) "
|
||||
+ "AND STATE IN (<foreach collection='states' item='state' separator=','>#{state}</foreach>) "
|
||||
+ "AND CLASSIFICATION_CATEGORY IN (<foreach collection='categories' item='category' separator=','>#{category}</foreach>) "
|
||||
+ "AND DOMAIN IN (<foreach collection='domains' item='domain' separator=','>#{domain}</foreach>) "
|
||||
+ "AND DUE IS NOT NULL "
|
||||
+ "<if test=\"_databaseId == 'db2'\">GROUP BY T.CLASSIFICATION_ID, A.CLASSIFICATION_ID, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP))</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">GROUP BY T.CLASSIFICATION_ID, A.CLASSIFICATION_ID, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE)</if> "
|
||||
+ "<if test=\"_databaseId == 'db2'\">GROUP BY T.CLASSIFICATION_KEY, A.CLASSIFICATION_KEY, (DAYS(DUE) - DAYS(CURRENT_TIMESTAMP))</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">GROUP BY T.CLASSIFICATION_KEY, A.CLASSIFICATION_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, DUE)</if> "
|
||||
+ "</script>")
|
||||
@Results({
|
||||
@Result(column = "TASK_CLASSIFICATION_ID", property = "key"),
|
||||
@Result(column = "ATTACHMENT_CLASSIFICATION_ID", property = "attachmentKey"),
|
||||
@Result(column = "TASK_CLASSIFICATION_KEY", property = "key"),
|
||||
@Result(column = "ATTACHMENT_CLASSIFICATION_KEY", property = "attachmentKey"),
|
||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays"),
|
||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks") })
|
||||
List<DetailedMonitorQueryItem> getTaskCountOfDetailedClassificationsByWorkbasketsAndStates(
|
||||
|
|
|
@ -15,6 +15,8 @@ import org.h2.store.fs.FileUtils;
|
|||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.TaskMonitorService;
|
||||
import pro.taskana.TaskanaEngine;
|
||||
|
@ -36,6 +38,7 @@ public class ProvideCategoryReportAccTest {
|
|||
|
||||
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||
protected static TaskanaEngine taskanaEngine;
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ProvideCategoryReportAccTest.class);
|
||||
|
||||
@BeforeClass
|
||||
public static void setupTest() throws Exception {
|
||||
|
@ -57,7 +60,6 @@ public class ProvideCategoryReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetTotalNumbersOfTasksOfCategoryReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -66,6 +68,10 @@ public class ProvideCategoryReportAccTest {
|
|||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
Report report = taskMonitorService.getCategoryReport(workbasketIds, states, categories, domains);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
assertEquals(33, report.getReportLines().get(categories.get(0)).getTotalNumberOfTasks());
|
||||
assertEquals(7, report.getReportLines().get(categories.get(1)).getTotalNumberOfTasks());
|
||||
|
@ -78,7 +84,6 @@ public class ProvideCategoryReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetCategoryReportWithReportLineItemDefinitions() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -90,6 +95,10 @@ public class ProvideCategoryReportAccTest {
|
|||
Report report = taskMonitorService.getCategoryReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
int sumLineCount = report.getSumLine().getLineItems().get(0).getNumberOfTasks()
|
||||
+ report.getSumLine().getLineItems().get(1).getNumberOfTasks()
|
||||
+ report.getSumLine().getLineItems().get(2).getNumberOfTasks()
|
||||
|
@ -120,8 +129,85 @@ public class ProvideCategoryReportAccTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfCategoryReportWithCategoryFilter() {
|
||||
public void testEachItemOfCategoryReport() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
Report report = taskMonitorService.getCategoryReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("EXTERN").getLineItems();
|
||||
assertEquals(15, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(8, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(6, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("AUTOMATIC").getLineItems();
|
||||
assertEquals(2, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(3, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("MANUAL").getLineItems();
|
||||
assertEquals(2, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(4, line3.get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfCategoryReportNotInWorkingDays() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
Report report = taskMonitorService.getCategoryReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions, false);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("EXTERN").getLineItems();
|
||||
assertEquals(23, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(8, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("AUTOMATIC").getLineItems();
|
||||
assertEquals(3, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(4, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("MANUAL").getLineItems();
|
||||
assertEquals(4, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(4, line3.get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfCategoryReportWithCategoryFilter() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -133,6 +219,10 @@ public class ProvideCategoryReportAccTest {
|
|||
Report report = taskMonitorService.getCategoryReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("AUTOMATIC").getLineItems();
|
||||
assertEquals(2, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(1).getNumberOfTasks());
|
||||
|
@ -152,7 +242,6 @@ public class ProvideCategoryReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfCategoryReportWithDomainFilter() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -164,6 +253,10 @@ public class ProvideCategoryReportAccTest {
|
|||
Report report = taskMonitorService.getCategoryReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("EXTERN").getLineItems();
|
||||
assertEquals(8, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(4, line1.get(1).getNumberOfTasks());
|
||||
|
@ -218,6 +311,75 @@ public class ProvideCategoryReportAccTest {
|
|||
return reportLineItemDefinitions;
|
||||
}
|
||||
|
||||
private String reportToString(Report report) {
|
||||
return reportToString(report, null);
|
||||
}
|
||||
|
||||
private String reportToString(Report report, List<ReportLineItemDefinition> reportLineItemDefinitions) {
|
||||
String formatColumWidth = "| %-7s ";
|
||||
String formatFirstColumn = "| %-36s %-4s ";
|
||||
String formatFirstColumnFirstLine = "| %-29s %12s ";
|
||||
String formatFirstColumnSumLine = "| %-36s %-5s";
|
||||
int reportWidth = reportLineItemDefinitions == null ? 46 : reportLineItemDefinitions.size() * 10 + 46;
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
builder.append(String.format(formatFirstColumnFirstLine, "Categories", "Total"));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItemDefinition def : reportLineItemDefinitions) {
|
||||
if (def.getLowerAgeLimit() == Integer.MIN_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "< " + def.getUpperAgeLimit()));
|
||||
} else if (def.getUpperAgeLimit() == Integer.MAX_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "> " + def.getLowerAgeLimit()));
|
||||
} else if (def.getLowerAgeLimit() == def.getUpperAgeLimit()) {
|
||||
if (def.getLowerAgeLimit() == 0) {
|
||||
builder.append(String.format(formatColumWidth, "today"));
|
||||
} else {
|
||||
builder.append(String.format(formatColumWidth, def.getLowerAgeLimit()));
|
||||
}
|
||||
} else {
|
||||
builder.append(
|
||||
String.format(formatColumWidth, def.getLowerAgeLimit() + ".." + def.getUpperAgeLimit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
|
||||
for (String rl : report.getReportLines().keySet()) {
|
||||
builder
|
||||
.append(String.format(formatFirstColumn, rl, report.getReportLines().get(rl).getTotalNumberOfTasks()));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItem reportLineItem : report.getReportLines().get(rl).getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, reportLineItem.getNumberOfTasks()));
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
}
|
||||
builder.append(String.format(formatFirstColumnSumLine, "Total", report.getSumLine().getTotalNumberOfTasks()));
|
||||
for (ReportLineItem sumLine : report.getSumLine().getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, sumLine.getNumberOfTasks()));
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void cleanUpClass() {
|
||||
FileUtils.deleteRecursive("~/data", true);
|
||||
|
|
|
@ -15,6 +15,8 @@ import org.h2.store.fs.FileUtils;
|
|||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.TaskMonitorService;
|
||||
import pro.taskana.TaskanaEngine;
|
||||
|
@ -36,6 +38,7 @@ public class ProvideClassificationReportAccTest {
|
|||
|
||||
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||
protected static TaskanaEngine taskanaEngine;
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ProvideClassificationReportAccTest.class);
|
||||
|
||||
@BeforeClass
|
||||
public static void setupTest() throws Exception {
|
||||
|
@ -57,7 +60,6 @@ public class ProvideClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetTotalNumbersOfTasksOfClassificationReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -67,28 +69,26 @@ public class ProvideClassificationReportAccTest {
|
|||
|
||||
Report report = taskMonitorService.getClassificationReport(workbasketIds, states, categories, domains);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000001").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000002").getTotalNumberOfTasks());
|
||||
assertEquals(7,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000003").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000004").getTotalNumberOfTasks());
|
||||
assertEquals(13,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000005").getTotalNumberOfTasks());
|
||||
assertEquals(0, report.getReportLines().get("CLI:000000000000000000000000000000000001").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("CLI:000000000000000000000000000000000002").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("CLI:000000000000000000000000000000000003").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("CLI:000000000000000000000000000000000004").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("CLI:000000000000000000000000000000000005").getLineItems().size());
|
||||
assertEquals(10, report.getReportLines().get("L10000").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L20000").getTotalNumberOfTasks());
|
||||
assertEquals(7, report.getReportLines().get("L30000").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L40000").getTotalNumberOfTasks());
|
||||
assertEquals(13, report.getReportLines().get("L50000").getTotalNumberOfTasks());
|
||||
assertEquals(0, report.getReportLines().get("L10000").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("L20000").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("L30000").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("L40000").getLineItems().size());
|
||||
assertEquals(0, report.getReportLines().get("L50000").getLineItems().size());
|
||||
assertEquals(50, report.getSumLine().getTotalNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetClassificationReportWithReportLineItemDefinitions() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -100,6 +100,10 @@ public class ProvideClassificationReportAccTest {
|
|||
Report report = taskMonitorService.getClassificationReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
int sumLineCount = report.getSumLine().getLineItems().get(0).getNumberOfTasks()
|
||||
+ report.getSumLine().getLineItems().get(1).getNumberOfTasks()
|
||||
+ report.getSumLine().getLineItems().get(2).getNumberOfTasks()
|
||||
|
@ -112,16 +116,11 @@ public class ProvideClassificationReportAccTest {
|
|||
|
||||
assertNotNull(report);
|
||||
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000001").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000002").getTotalNumberOfTasks());
|
||||
assertEquals(7,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000003").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000004").getTotalNumberOfTasks());
|
||||
assertEquals(13,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000005").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L10000").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L20000").getTotalNumberOfTasks());
|
||||
assertEquals(7, report.getReportLines().get("L30000").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L40000").getTotalNumberOfTasks());
|
||||
assertEquals(13, report.getReportLines().get("L50000").getTotalNumberOfTasks());
|
||||
|
||||
assertEquals(10, report.getSumLine().getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(9, report.getSumLine().getLineItems().get(1).getNumberOfTasks());
|
||||
|
@ -138,7 +137,6 @@ public class ProvideClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfClassificationReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -150,45 +148,39 @@ public class ProvideClassificationReportAccTest {
|
|||
Report report = taskMonitorService.getClassificationReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000001")
|
||||
.getLineItems();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("L10000").getLineItems();
|
||||
assertEquals(7, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000002")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("L20000").getLineItems();
|
||||
assertEquals(5, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(3, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("L30000").getLineItems();
|
||||
assertEquals(2, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(3, line3.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line4 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line4 = report.getReportLines().get("L40000").getLineItems();
|
||||
assertEquals(2, line4.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line4.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line4.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line4.get(3).getNumberOfTasks());
|
||||
assertEquals(4, line4.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line5 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000005")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line5 = report.getReportLines().get("L50000").getLineItems();
|
||||
assertEquals(3, line5.get(0).getNumberOfTasks());
|
||||
assertEquals(3, line5.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line5.get(2).getNumberOfTasks());
|
||||
|
@ -197,8 +189,60 @@ public class ProvideClassificationReportAccTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfClassificationReportWithCategoryFilter() {
|
||||
public void testEachItemOfClassificationReportNotInWorkingDays() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
Report report = taskMonitorService.getClassificationReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions, false);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("L10000").getLineItems();
|
||||
assertEquals(9, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("L20000").getLineItems();
|
||||
assertEquals(8, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("L30000").getLineItems();
|
||||
assertEquals(3, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(4, line3.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line4 = report.getReportLines().get("L40000").getLineItems();
|
||||
assertEquals(4, line4.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line4.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line4.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line4.get(3).getNumberOfTasks());
|
||||
assertEquals(4, line4.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line5 = report.getReportLines().get("L50000").getLineItems();
|
||||
assertEquals(6, line5.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line5.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line5.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line5.get(3).getNumberOfTasks());
|
||||
assertEquals(7, line5.get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfClassificationReportWithCategoryFilter() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -210,18 +254,18 @@ public class ProvideClassificationReportAccTest {
|
|||
Report report = taskMonitorService.getClassificationReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003")
|
||||
.getLineItems();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("L30000").getLineItems();
|
||||
assertEquals(2, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(3, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("L40000").getLineItems();
|
||||
assertEquals(2, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line2.get(2).getNumberOfTasks());
|
||||
|
@ -233,7 +277,6 @@ public class ProvideClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfClassificationReportWithDomainFilter() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -245,45 +288,39 @@ public class ProvideClassificationReportAccTest {
|
|||
Report report = taskMonitorService.getClassificationReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000001")
|
||||
.getLineItems();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("L10000").getLineItems();
|
||||
assertEquals(5, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000002")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("L20000").getLineItems();
|
||||
assertEquals(3, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("L30000").getLineItems();
|
||||
assertEquals(1, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line4 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line4 = report.getReportLines().get("L40000").getLineItems();
|
||||
assertEquals(2, line4.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line4.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line4.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line4.get(3).getNumberOfTasks());
|
||||
assertEquals(3, line4.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line5 = report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000005")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line5 = report.getReportLines().get("L50000").getLineItems();
|
||||
assertEquals(0, line5.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line5.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line5.get(2).getNumberOfTasks());
|
||||
|
@ -323,6 +360,75 @@ public class ProvideClassificationReportAccTest {
|
|||
return reportLineItemDefinitions;
|
||||
}
|
||||
|
||||
private String reportToString(Report report) {
|
||||
return reportToString(report, null);
|
||||
}
|
||||
|
||||
private String reportToString(Report report, List<ReportLineItemDefinition> reportLineItemDefinitions) {
|
||||
String formatColumWidth = "| %-7s ";
|
||||
String formatFirstColumn = "| %-36s %-4s ";
|
||||
String formatFirstColumnFirstLine = "| %-29s %12s ";
|
||||
String formatFirstColumnSumLine = "| %-36s %-5s";
|
||||
int reportWidth = reportLineItemDefinitions == null ? 46 : reportLineItemDefinitions.size() * 10 + 46;
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
builder.append(String.format(formatFirstColumnFirstLine, "Classifications", "Total"));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItemDefinition def : reportLineItemDefinitions) {
|
||||
if (def.getLowerAgeLimit() == Integer.MIN_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "< " + def.getUpperAgeLimit()));
|
||||
} else if (def.getUpperAgeLimit() == Integer.MAX_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "> " + def.getLowerAgeLimit()));
|
||||
} else if (def.getLowerAgeLimit() == def.getUpperAgeLimit()) {
|
||||
if (def.getLowerAgeLimit() == 0) {
|
||||
builder.append(String.format(formatColumWidth, "today"));
|
||||
} else {
|
||||
builder.append(String.format(formatColumWidth, def.getLowerAgeLimit()));
|
||||
}
|
||||
} else {
|
||||
builder.append(
|
||||
String.format(formatColumWidth, def.getLowerAgeLimit() + ".." + def.getUpperAgeLimit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
|
||||
for (String rl : report.getReportLines().keySet()) {
|
||||
builder
|
||||
.append(String.format(formatFirstColumn, rl, report.getReportLines().get(rl).getTotalNumberOfTasks()));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItem reportLineItem : report.getReportLines().get(rl).getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, reportLineItem.getNumberOfTasks()));
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
}
|
||||
builder.append(String.format(formatFirstColumnSumLine, "Total", report.getSumLine().getTotalNumberOfTasks()));
|
||||
for (ReportLineItem sumLine : report.getSumLine().getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, sumLine.getNumberOfTasks()));
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void cleanUpClass() {
|
||||
FileUtils.deleteRecursive("~/data", true);
|
||||
|
|
|
@ -15,6 +15,8 @@ import org.h2.store.fs.FileUtils;
|
|||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.TaskMonitorService;
|
||||
import pro.taskana.TaskanaEngine;
|
||||
|
@ -37,6 +39,7 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
|
||||
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||
protected static TaskanaEngine taskanaEngine;
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ProvideCustomFieldValueReportAccTest.class);
|
||||
|
||||
@BeforeClass
|
||||
public static void setupTest() throws Exception {
|
||||
|
@ -58,7 +61,6 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetTotalNumbersOfTasksOfCustomFieldValueReportForCustom1() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -74,6 +76,10 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
assertEquals(25, report.getReportLines().get(customFieldValue1).getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get(customFieldValue2).getTotalNumberOfTasks());
|
||||
|
@ -87,7 +93,6 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetTotalNumbersOfTasksOfCustomFieldValueReportForCustom2() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -101,6 +106,11 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
|
||||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
assertEquals(21, report.getReportLines().get(customFieldValue1).getTotalNumberOfTasks());
|
||||
assertEquals(29, report.getReportLines().get(customFieldValue2).getTotalNumberOfTasks());
|
||||
|
@ -114,7 +124,6 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetCustomFieldValueReportWithReportLineItemDefinitions() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -131,6 +140,10 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField, reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
|
||||
assertEquals(25, report.getReportLines().get(customFieldValue1).getTotalNumberOfTasks());
|
||||
|
@ -151,48 +164,8 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
assertEquals(50, report.getSumLine().getTotalNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetCustomFieldValueReportWithReportLineItemDefinitionsNotInWorkingDays() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getListOfReportLineItemDefinitions();
|
||||
|
||||
CustomField customField = CustomField.CUSTOM_1;
|
||||
String customFieldValue1 = "Geschaeftsstelle A";
|
||||
String customFieldValue2 = "Geschaeftsstelle B";
|
||||
String customFieldValue3 = "Geschaeftsstelle C";
|
||||
|
||||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField, reportLineItemDefinitions, false);
|
||||
|
||||
assertNotNull(report);
|
||||
|
||||
assertEquals(25, report.getReportLines().get(customFieldValue1).getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get(customFieldValue2).getTotalNumberOfTasks());
|
||||
assertEquals(15, report.getReportLines().get(customFieldValue3).getTotalNumberOfTasks());
|
||||
|
||||
assertEquals(19, report.getSumLine().getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(11, report.getSumLine().getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, report.getSumLine().getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, report.getSumLine().getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(4, report.getSumLine().getLineItems().get(4).getNumberOfTasks());
|
||||
assertEquals(0, report.getSumLine().getLineItems().get(5).getNumberOfTasks());
|
||||
assertEquals(0, report.getSumLine().getLineItems().get(6).getNumberOfTasks());
|
||||
assertEquals(7, report.getSumLine().getLineItems().get(7).getNumberOfTasks());
|
||||
assertEquals(9, report.getSumLine().getLineItems().get(8).getNumberOfTasks());
|
||||
|
||||
assertEquals(3, report.getReportLines().size());
|
||||
assertEquals(50, report.getSumLine().getTotalNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfCustomFieldValueReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -209,6 +182,10 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField, reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get(customFieldValue1).getLineItems();
|
||||
assertEquals(11, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(4, line1.get(1).getNumberOfTasks());
|
||||
|
@ -232,8 +209,51 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfCustomFieldValueReportWithCategoryFilter() {
|
||||
public void testEachItemOfCustomFieldValueReportNotInWorkingDays() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
CustomField customField = CustomField.CUSTOM_1;
|
||||
String customFieldValue1 = "Geschaeftsstelle A";
|
||||
String customFieldValue2 = "Geschaeftsstelle B";
|
||||
String customFieldValue3 = "Geschaeftsstelle C";
|
||||
|
||||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField, reportLineItemDefinitions, false);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get(customFieldValue1).getLineItems();
|
||||
assertEquals(15, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(3, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(7, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines().get(customFieldValue2).getLineItems();
|
||||
assertEquals(8, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(2, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines().get(customFieldValue3).getLineItems();
|
||||
assertEquals(7, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(7, line3.get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfCustomFieldValueReportWithCategoryFilter() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -250,6 +270,10 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField, reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get(customFieldValue1).getLineItems();
|
||||
assertEquals(2, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(1).getNumberOfTasks());
|
||||
|
@ -274,7 +298,6 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfCustomFieldValueReportWithDomainFilter() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -291,6 +314,10 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
Report report = taskMonitorService.getCustomFieldValueReport(workbasketIds, states, categories, domains,
|
||||
customField, reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get(customFieldValue1).getLineItems();
|
||||
assertEquals(8, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(1).getNumberOfTasks());
|
||||
|
@ -345,6 +372,75 @@ public class ProvideCustomFieldValueReportAccTest {
|
|||
return reportLineItemDefinitions;
|
||||
}
|
||||
|
||||
private String reportToString(Report report) {
|
||||
return reportToString(report, null);
|
||||
}
|
||||
|
||||
private String reportToString(Report report, List<ReportLineItemDefinition> reportLineItemDefinitions) {
|
||||
String formatColumWidth = "| %-7s ";
|
||||
String formatFirstColumn = "| %-36s %-4s ";
|
||||
String formatFirstColumnFirstLine = "| %-29s %12s ";
|
||||
String formatFirstColumnSumLine = "| %-36s %-5s";
|
||||
int reportWidth = reportLineItemDefinitions == null ? 46 : reportLineItemDefinitions.size() * 10 + 46;
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
builder.append(String.format(formatFirstColumnFirstLine, "Custom field values", "Total"));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItemDefinition def : reportLineItemDefinitions) {
|
||||
if (def.getLowerAgeLimit() == Integer.MIN_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "< " + def.getUpperAgeLimit()));
|
||||
} else if (def.getUpperAgeLimit() == Integer.MAX_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "> " + def.getLowerAgeLimit()));
|
||||
} else if (def.getLowerAgeLimit() == def.getUpperAgeLimit()) {
|
||||
if (def.getLowerAgeLimit() == 0) {
|
||||
builder.append(String.format(formatColumWidth, "today"));
|
||||
} else {
|
||||
builder.append(String.format(formatColumWidth, def.getLowerAgeLimit()));
|
||||
}
|
||||
} else {
|
||||
builder.append(
|
||||
String.format(formatColumWidth, def.getLowerAgeLimit() + ".." + def.getUpperAgeLimit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
|
||||
for (String rl : report.getReportLines().keySet()) {
|
||||
builder
|
||||
.append(String.format(formatFirstColumn, rl, report.getReportLines().get(rl).getTotalNumberOfTasks()));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItem reportLineItem : report.getReportLines().get(rl).getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, reportLineItem.getNumberOfTasks()));
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
}
|
||||
builder.append(String.format(formatFirstColumnSumLine, "Total", report.getSumLine().getTotalNumberOfTasks()));
|
||||
for (ReportLineItem sumLine : report.getSumLine().getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, sumLine.getNumberOfTasks()));
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void cleanUpClass() {
|
||||
FileUtils.deleteRecursive("~/data", true);
|
||||
|
|
|
@ -15,6 +15,8 @@ import org.h2.store.fs.FileUtils;
|
|||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.TaskMonitorService;
|
||||
import pro.taskana.TaskanaEngine;
|
||||
|
@ -23,7 +25,9 @@ import pro.taskana.configuration.TaskanaEngineConfiguration;
|
|||
import pro.taskana.database.TestDataGenerator;
|
||||
import pro.taskana.impl.DetailedClassificationReport;
|
||||
import pro.taskana.impl.DetailedReportLine;
|
||||
import pro.taskana.impl.Report;
|
||||
import pro.taskana.impl.ReportLine;
|
||||
import pro.taskana.impl.ReportLineItem;
|
||||
import pro.taskana.impl.ReportLineItemDefinition;
|
||||
import pro.taskana.impl.TaskState;
|
||||
import pro.taskana.impl.TaskanaEngineImpl;
|
||||
|
@ -37,6 +41,7 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
|
||||
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||
protected static TaskanaEngine taskanaEngine;
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ProvideDetailedClassificationReportAccTest.class);
|
||||
|
||||
@BeforeClass
|
||||
public static void setupTest() throws Exception {
|
||||
|
@ -58,7 +63,6 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetTotalNumbersOfTasksOfDetailedClassificationReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -69,42 +73,41 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
DetailedClassificationReport report = taskMonitorService.getDetailedClassificationReport(workbasketIds, states,
|
||||
categories, domains);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000001");
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines().get("L10000");
|
||||
assertEquals(10, line1.getTotalNumberOfTasks());
|
||||
assertEquals(3, line1.getDetailLines().get("CLI:000000000000000000000000000000000006").getTotalNumberOfTasks());
|
||||
assertEquals(3, line1.getDetailLines().get("L11000").getTotalNumberOfTasks());
|
||||
assertEquals(7, line1.getDetailLines().get("N/A").getTotalNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().size());
|
||||
assertEquals(2, line1.getDetailLines().size());
|
||||
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000002");
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines().get("L20000");
|
||||
assertEquals(10, line2.getTotalNumberOfTasks());
|
||||
assertEquals(4, line2.getDetailLines().get("CLI:000000000000000000000000000000000007").getTotalNumberOfTasks());
|
||||
assertEquals(4, line2.getDetailLines().get("L22000").getTotalNumberOfTasks());
|
||||
assertEquals(6, line2.getDetailLines().get("N/A").getTotalNumberOfTasks());
|
||||
assertEquals(0, line2.getLineItems().size());
|
||||
assertEquals(2, line2.getDetailLines().size());
|
||||
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003");
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines().get("L30000");
|
||||
assertEquals(7, line3.getTotalNumberOfTasks());
|
||||
assertEquals(3, line3.getDetailLines().get("CLI:000000000000000000000000000000000008").getTotalNumberOfTasks());
|
||||
assertEquals(1, line3.getDetailLines().get("CLI:000000000000000000000000000000000009").getTotalNumberOfTasks());
|
||||
assertEquals(3, line3.getDetailLines().get("L33000").getTotalNumberOfTasks());
|
||||
assertEquals(1, line3.getDetailLines().get("L99000").getTotalNumberOfTasks());
|
||||
assertEquals(3, line3.getDetailLines().get("N/A").getTotalNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().size());
|
||||
assertEquals(3, line3.getDetailLines().size());
|
||||
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004");
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines().get("L40000");
|
||||
assertEquals(10, line4.getTotalNumberOfTasks());
|
||||
assertEquals(10, line4.getDetailLines().get("N/A").getTotalNumberOfTasks());
|
||||
assertEquals(0, line4.getLineItems().size());
|
||||
assertEquals(1, line4.getDetailLines().size());
|
||||
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000005");
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines().get("L50000");
|
||||
assertEquals(13, line5.getTotalNumberOfTasks());
|
||||
assertEquals(13, line5.getDetailLines().get("N/A").getTotalNumberOfTasks());
|
||||
assertEquals(0, line5.getLineItems().size());
|
||||
|
@ -115,7 +118,6 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetDetailedClassificationReportWithReportLineItemDefinitions() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -127,18 +129,17 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
DetailedClassificationReport report = taskMonitorService.getDetailedClassificationReport(workbasketIds, states,
|
||||
categories, domains, reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000001").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000002").getTotalNumberOfTasks());
|
||||
assertEquals(7,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000003").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000004").getTotalNumberOfTasks());
|
||||
assertEquals(13,
|
||||
report.getReportLines().get("CLI:000000000000000000000000000000000005").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L10000").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L20000").getTotalNumberOfTasks());
|
||||
assertEquals(7, report.getReportLines().get("L30000").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("L40000").getTotalNumberOfTasks());
|
||||
assertEquals(13, report.getReportLines().get("L50000").getTotalNumberOfTasks());
|
||||
|
||||
assertEquals(10, report.getSumLine().getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(9, report.getSumLine().getLineItems().get(1).getNumberOfTasks());
|
||||
|
@ -154,7 +155,6 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfDetailedClassificationReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -166,15 +166,18 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
DetailedClassificationReport report = taskMonitorService.getDetailedClassificationReport(workbasketIds, states,
|
||||
categories, domains, reportLineItemDefinitions);
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000001");
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines().get("L10000");
|
||||
assertEquals(7, line1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(2, line1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine1 = line1.getDetailLines().get("CLI:000000000000000000000000000000000006");
|
||||
ReportLine detailedLine1 = line1.getDetailLines().get("L11000");
|
||||
assertEquals(2, detailedLine1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -188,15 +191,14 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000002");
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines().get("L20000");
|
||||
assertEquals(5, line2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(3, line2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, line2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine2 = line2.getDetailLines().get("CLI:000000000000000000000000000000000007");
|
||||
ReportLine detailedLine2 = line2.getDetailLines().get("L22000");
|
||||
assertEquals(1, detailedLine2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine2.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -210,22 +212,21 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003");
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines().get("L30000");
|
||||
assertEquals(2, line3.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, line3.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, line3.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(3, line3.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine3a = line3.getDetailLines().get("CLI:000000000000000000000000000000000008");
|
||||
ReportLine detailedLine3a = line3.getDetailLines().get("L33000");
|
||||
assertEquals(0, detailedLine3a.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine3a.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3a.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine3a.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine3a.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine3b = line3.getDetailLines().get("CLI:000000000000000000000000000000000009");
|
||||
ReportLine detailedLine3b = line3.getDetailLines().get("L99000");
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -239,8 +240,7 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment3.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLineNoAttachment3.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004");
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines().get("L40000");
|
||||
assertEquals(2, line4.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(2, line4.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(2, line4.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -254,8 +254,7 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment4.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(4, detailedLineNoAttachment4.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000005");
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines().get("L50000");
|
||||
assertEquals(3, line5.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(3, line5.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line5.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -271,8 +270,123 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfDetailedClassificationReportWithCategoryFilter() {
|
||||
public void testEachItemOfDetailedClassificationReportNotInWorkingDays() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
DetailedClassificationReport report = taskMonitorService.getDetailedClassificationReport(workbasketIds, states,
|
||||
categories, domains, reportLineItemDefinitions, false);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines().get("L10000");
|
||||
assertEquals(9, line1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine1 = line1.getDetailLines().get("L11000");
|
||||
assertEquals(2, detailedLine1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLineNoAttachment1 = line1.getDetailLines().get("N/A");
|
||||
assertEquals(7, detailedLineNoAttachment1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines().get("L20000");
|
||||
assertEquals(8, line2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine2 = line2.getDetailLines().get("L22000");
|
||||
assertEquals(2, detailedLine2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine2.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLineNoAttachment2 = line2.getDetailLines().get("N/A");
|
||||
assertEquals(6, detailedLineNoAttachment2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines().get("L30000");
|
||||
assertEquals(3, line3.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(4, line3.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine3a = line3.getDetailLines().get("L33000");
|
||||
assertEquals(1, detailedLine3a.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3a.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3a.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3a.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(2, detailedLine3a.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine3b = line3.getDetailLines().get("L99000");
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3b.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine3b.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLineNoAttachment3 = line3.getDetailLines().get("N/A");
|
||||
assertEquals(2, detailedLineNoAttachment3.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment3.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment3.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment3.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLineNoAttachment3.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines().get("L40000");
|
||||
assertEquals(4, line4.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line4.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(2, line4.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line4.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(4, line4.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLineNoAttachment4 = line4.getDetailLines().get("N/A");
|
||||
assertEquals(4, detailedLineNoAttachment4.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment4.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(2, detailedLineNoAttachment4.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment4.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(4, detailedLineNoAttachment4.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines().get("L50000");
|
||||
assertEquals(6, line5.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line5.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line5.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line5.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(7, line5.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLineNoAttachment5 = line5.getDetailLines().get("N/A");
|
||||
assertEquals(6, detailedLineNoAttachment5.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment5.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment5.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment5.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(7, detailedLineNoAttachment5.getLineItems().get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfDetailedClassificationReportWithCategoryFilter() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -284,22 +398,25 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
DetailedClassificationReport report = taskMonitorService.getDetailedClassificationReport(workbasketIds, states,
|
||||
categories, domains, reportLineItemDefinitions);
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003");
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines().get("L30000");
|
||||
assertEquals(2, line1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, line1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(3, line1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine1a = line1.getDetailLines().get("CLI:000000000000000000000000000000000008");
|
||||
ReportLine detailedLine1a = line1.getDetailLines().get("L33000");
|
||||
assertEquals(0, detailedLine1a.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1a.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1a.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1a.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1a.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine1b = line1.getDetailLines().get("CLI:000000000000000000000000000000000009");
|
||||
ReportLine detailedLine1b = line1.getDetailLines().get("L99000");
|
||||
assertEquals(0, detailedLine1b.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1b.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1b.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -313,8 +430,7 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLine1WithoutAttachment.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1WithoutAttachment.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004");
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines().get("L40000");
|
||||
assertEquals(2, line2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(2, line2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(2, line2.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -333,7 +449,6 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfDetailedClassificationReportWithDomainFilter() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -345,15 +460,18 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
DetailedClassificationReport report = taskMonitorService.getDetailedClassificationReport(workbasketIds, states,
|
||||
categories, domains, reportLineItemDefinitions);
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000001");
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
DetailedReportLine line1 = (DetailedReportLine) report.getReportLines().get("L10000");
|
||||
assertEquals(5, line1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(2, line1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, line1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine1 = line1.getDetailLines().get("CLI:000000000000000000000000000000000006");
|
||||
ReportLine detailedLine1 = line1.getDetailLines().get("L11000");
|
||||
assertEquals(1, detailedLine1.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine1.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine1.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -367,15 +485,14 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment1.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000002");
|
||||
DetailedReportLine line2 = (DetailedReportLine) report.getReportLines().get("L20000");
|
||||
assertEquals(3, line2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, line2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, line2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine2 = line2.getDetailLines().get("CLI:000000000000000000000000000000000007");
|
||||
ReportLine detailedLine2 = line2.getDetailLines().get("L22000");
|
||||
assertEquals(1, detailedLine2.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine2.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(1, detailedLine2.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -389,15 +506,14 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment2.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000003");
|
||||
DetailedReportLine line3 = (DetailedReportLine) report.getReportLines().get("L30000");
|
||||
assertEquals(1, line3.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.getLineItems().get(2).getNumberOfTasks());
|
||||
assertEquals(1, line3.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(1, line3.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
ReportLine detailedLine3 = line3.getDetailLines().get("CLI:000000000000000000000000000000000008");
|
||||
ReportLine detailedLine3 = line3.getDetailLines().get("L33000");
|
||||
assertEquals(0, detailedLine3.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, detailedLine3.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -411,8 +527,7 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment3.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(0, detailedLineNoAttachment3.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000004");
|
||||
DetailedReportLine line4 = (DetailedReportLine) report.getReportLines().get("L40000");
|
||||
assertEquals(2, line4.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(0, line4.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line4.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -426,8 +541,7 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
assertEquals(0, detailedLineNoAttachment4.getLineItems().get(3).getNumberOfTasks());
|
||||
assertEquals(3, detailedLineNoAttachment4.getLineItems().get(4).getNumberOfTasks());
|
||||
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines()
|
||||
.get("CLI:000000000000000000000000000000000005");
|
||||
DetailedReportLine line5 = (DetailedReportLine) report.getReportLines().get("L50000");
|
||||
assertEquals(0, line5.getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(1, line5.getLineItems().get(1).getNumberOfTasks());
|
||||
assertEquals(0, line5.getLineItems().get(2).getNumberOfTasks());
|
||||
|
@ -474,6 +588,90 @@ public class ProvideDetailedClassificationReportAccTest {
|
|||
return reportLineItemDefinitions;
|
||||
}
|
||||
|
||||
private String reportToString(Report report) {
|
||||
return reportToString(report, null);
|
||||
}
|
||||
|
||||
private String reportToString(Report report, List<ReportLineItemDefinition> reportLineItemDefinitions) {
|
||||
String formatColumWidth = "| %-7s ";
|
||||
String formatFirstColumn = "| %-36s %-4s ";
|
||||
String formatFirstColumnFirstLine = "| %-29s %12s ";
|
||||
String formatFirstColumnDetailLines = "| + %-34s %-4s ";
|
||||
String formatFirstColumnSumLine = "| %-36s %-5s";
|
||||
int reportWidth = reportLineItemDefinitions == null ? 46 : reportLineItemDefinitions.size() * 10 + 46;
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
builder.append(String.format(formatFirstColumnFirstLine, "Classifications + Attachments", "Total"));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItemDefinition def : reportLineItemDefinitions) {
|
||||
if (def.getLowerAgeLimit() == Integer.MIN_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "< " + def.getUpperAgeLimit()));
|
||||
} else if (def.getUpperAgeLimit() == Integer.MAX_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "> " + def.getLowerAgeLimit()));
|
||||
} else if (def.getLowerAgeLimit() == def.getUpperAgeLimit()) {
|
||||
if (def.getLowerAgeLimit() == 0) {
|
||||
builder.append(String.format(formatColumWidth, "today"));
|
||||
} else {
|
||||
builder.append(String.format(formatColumWidth, def.getLowerAgeLimit()));
|
||||
}
|
||||
} else {
|
||||
builder.append(
|
||||
String.format(formatColumWidth, def.getLowerAgeLimit() + ".." + def.getUpperAgeLimit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
|
||||
for (String rl : report.getReportLines().keySet()) {
|
||||
builder
|
||||
.append(String.format(formatFirstColumn, rl, report.getReportLines().get(rl).getTotalNumberOfTasks()));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItem reportLineItem : report.getReportLines().get(rl).getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, reportLineItem.getNumberOfTasks()));
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
if (report instanceof DetailedClassificationReport) {
|
||||
for (String detaileLine : ((DetailedReportLine) report.getReportLines().get(rl)).getDetailLines()
|
||||
.keySet()) {
|
||||
ReportLine reportLine = ((DetailedReportLine) report.getReportLines().get(rl)).getDetailLines()
|
||||
.get(detaileLine);
|
||||
builder.append(
|
||||
String.format(formatFirstColumnDetailLines, detaileLine,
|
||||
reportLine.getTotalNumberOfTasks()));
|
||||
for (ReportLineItem reportLineItem : reportLine.getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, reportLineItem.getNumberOfTasks()));
|
||||
}
|
||||
builder.append("|\n");
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
}
|
||||
builder.append(String.format(formatFirstColumnSumLine, "Total", report.getSumLine().getTotalNumberOfTasks()));
|
||||
for (ReportLineItem sumLine : report.getSumLine().getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, sumLine.getNumberOfTasks()));
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void cleanUpClass() {
|
||||
FileUtils.deleteRecursive("~/data", true);
|
||||
|
|
|
@ -15,15 +15,14 @@ import org.h2.store.fs.FileUtils;
|
|||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.TaskMonitorService;
|
||||
import pro.taskana.TaskanaEngine;
|
||||
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
||||
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||
import pro.taskana.database.TestDataGenerator;
|
||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||
import pro.taskana.exceptions.NotAuthorizedException;
|
||||
import pro.taskana.exceptions.WorkbasketNotFoundException;
|
||||
import pro.taskana.impl.Report;
|
||||
import pro.taskana.impl.ReportLineItem;
|
||||
import pro.taskana.impl.ReportLineItemDefinition;
|
||||
|
@ -39,6 +38,7 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
|
||||
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||
protected static TaskanaEngine taskanaEngine;
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ProvideWorkbasketLevelReportAccTest.class);
|
||||
|
||||
@BeforeClass
|
||||
public static void setupTest() throws Exception {
|
||||
|
@ -60,7 +60,6 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testGetTotalNumbersOfTasksOfWorkbasketLevelReport() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -70,19 +69,19 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
|
||||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report));
|
||||
}
|
||||
|
||||
assertNotNull(report);
|
||||
assertEquals(20,
|
||||
report.getReportLines().get("WBI:000000000000000000000000000000000001").getTotalNumberOfTasks());
|
||||
assertEquals(20,
|
||||
report.getReportLines().get("WBI:000000000000000000000000000000000002").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("WBI:000000000000000000000000000000000003").getTotalNumberOfTasks());
|
||||
assertEquals(20, report.getReportLines().get("USER_1_1").getTotalNumberOfTasks());
|
||||
assertEquals(20, report.getReportLines().get("USER_1_2").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("USER_1_3").getTotalNumberOfTasks());
|
||||
assertEquals(50, report.getSumLine().getTotalNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetWorkbasketLevelReportWithReportLineItemDefinitions() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -94,6 +93,10 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
int sumLineCount = report.getSumLine().getLineItems().get(0).getNumberOfTasks()
|
||||
+ report.getSumLine().getLineItems().get(1).getNumberOfTasks()
|
||||
+ report.getSumLine().getLineItems().get(2).getNumberOfTasks()
|
||||
|
@ -106,12 +109,9 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
|
||||
assertNotNull(report);
|
||||
|
||||
assertEquals(20,
|
||||
report.getReportLines().get("WBI:000000000000000000000000000000000001").getTotalNumberOfTasks());
|
||||
assertEquals(20,
|
||||
report.getReportLines().get("WBI:000000000000000000000000000000000002").getTotalNumberOfTasks());
|
||||
assertEquals(10,
|
||||
report.getReportLines().get("WBI:000000000000000000000000000000000003").getTotalNumberOfTasks());
|
||||
assertEquals(20, report.getReportLines().get("USER_1_1").getTotalNumberOfTasks());
|
||||
assertEquals(20, report.getReportLines().get("USER_1_2").getTotalNumberOfTasks());
|
||||
assertEquals(10, report.getReportLines().get("USER_1_3").getTotalNumberOfTasks());
|
||||
|
||||
assertEquals(10, report.getSumLine().getLineItems().get(0).getNumberOfTasks());
|
||||
assertEquals(9, report.getSumLine().getLineItems().get(1).getNumberOfTasks());
|
||||
|
@ -127,23 +127,85 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testGetWorkbasketLevelReportIfWorkbasketContainsNoTask() {
|
||||
public void testEachItemOfWorkbasketLevelReport() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(1, 4);
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains);
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
assertNotNull(report);
|
||||
assertEquals(0, report.getSumLine().getTotalNumberOfTasks());
|
||||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("USER_1_1").getLineItems();
|
||||
assertEquals(13, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(3, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("USER_1_2").getLineItems();
|
||||
assertEquals(4, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(6, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(3, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(6, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("USER_1_3").getLineItems();
|
||||
assertEquals(2, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(6, line3.get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfWorkbasketLevelReportWithCategoryFilter()
|
||||
throws WorkbasketNotFoundException, NotAuthorizedException, ClassificationNotFoundException {
|
||||
public void testEachItemOfWorkbasketLevelReportNotInWorkingDays() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
List<TaskState> states = Arrays.asList(TaskState.READY, TaskState.CLAIMED);
|
||||
List<String> categories = Arrays.asList("EXTERN", "AUTOMATIC", "MANUAL");
|
||||
List<String> domains = Arrays.asList("DOMAIN_A", "DOMAIN_B", "DOMAIN_C");
|
||||
List<ReportLineItemDefinition> reportLineItemDefinitions = getShortListOfReportLineItemDefinitions();
|
||||
|
||||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions, false);
|
||||
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("USER_1_1").getLineItems();
|
||||
assertEquals(16, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(3, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("USER_1_2").getLineItems();
|
||||
assertEquals(10, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(3, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(7, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("USER_1_3").getLineItems();
|
||||
assertEquals(4, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(3).getNumberOfTasks());
|
||||
assertEquals(6, line3.get(4).getNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEachItemOfWorkbasketLevelReportWithCategoryFilter() {
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -155,27 +217,25 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines()
|
||||
.get("WBI:000000000000000000000000000000000001")
|
||||
.getLineItems();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("USER_1_1").getLineItems();
|
||||
assertEquals(3, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines()
|
||||
.get("WBI:000000000000000000000000000000000002")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("USER_1_2").getLineItems();
|
||||
assertEquals(1, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(1, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines()
|
||||
.get("WBI:000000000000000000000000000000000003")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("USER_1_3").getLineItems();
|
||||
assertEquals(0, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
|
@ -187,7 +247,6 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
|
||||
@Test
|
||||
public void testEachItemOfWorkbasketLevelReportWithDomainFilter() {
|
||||
|
||||
TaskMonitorService taskMonitorService = taskanaEngine.getTaskMonitorService();
|
||||
|
||||
List<String> workbasketIds = generateWorkbasketIds(3, 1);
|
||||
|
@ -199,27 +258,25 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
Report report = taskMonitorService.getWorkbasketLevelReport(workbasketIds, states, categories, domains,
|
||||
reportLineItemDefinitions);
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines()
|
||||
.get("WBI:000000000000000000000000000000000001")
|
||||
.getLineItems();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(reportToString(report, reportLineItemDefinitions));
|
||||
}
|
||||
|
||||
List<ReportLineItem> line1 = report.getReportLines().get("USER_1_1").getLineItems();
|
||||
assertEquals(8, line1.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line1.get(2).getNumberOfTasks());
|
||||
assertEquals(1, line1.get(3).getNumberOfTasks());
|
||||
assertEquals(2, line1.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line2 = report.getReportLines()
|
||||
.get("WBI:000000000000000000000000000000000002")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line2 = report.getReportLines().get("USER_1_2").getLineItems();
|
||||
assertEquals(2, line2.get(0).getNumberOfTasks());
|
||||
assertEquals(2, line2.get(1).getNumberOfTasks());
|
||||
assertEquals(2, line2.get(2).getNumberOfTasks());
|
||||
assertEquals(4, line2.get(3).getNumberOfTasks());
|
||||
assertEquals(0, line2.get(4).getNumberOfTasks());
|
||||
|
||||
List<ReportLineItem> line3 = report.getReportLines()
|
||||
.get("WBI:000000000000000000000000000000000003")
|
||||
.getLineItems();
|
||||
List<ReportLineItem> line3 = report.getReportLines().get("USER_1_3").getLineItems();
|
||||
assertEquals(1, line3.get(0).getNumberOfTasks());
|
||||
assertEquals(1, line3.get(1).getNumberOfTasks());
|
||||
assertEquals(0, line3.get(2).getNumberOfTasks());
|
||||
|
@ -259,6 +316,75 @@ public class ProvideWorkbasketLevelReportAccTest {
|
|||
return reportLineItemDefinitions;
|
||||
}
|
||||
|
||||
private String reportToString(Report report) {
|
||||
return reportToString(report, null);
|
||||
}
|
||||
|
||||
private String reportToString(Report report, List<ReportLineItemDefinition> reportLineItemDefinitions) {
|
||||
String formatColumWidth = "| %-7s ";
|
||||
String formatFirstColumn = "| %-36s %-4s ";
|
||||
String formatFirstColumnFirstLine = "| %-29s %12s ";
|
||||
String formatFirstColumnSumLine = "| %-36s %-5s";
|
||||
int reportWidth = reportLineItemDefinitions == null ? 46 : reportLineItemDefinitions.size() * 10 + 46;
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
builder.append(String.format(formatFirstColumnFirstLine, "Workbasket levels", "Total"));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItemDefinition def : reportLineItemDefinitions) {
|
||||
if (def.getLowerAgeLimit() == Integer.MIN_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "< " + def.getUpperAgeLimit()));
|
||||
} else if (def.getUpperAgeLimit() == Integer.MAX_VALUE) {
|
||||
builder.append(String.format(formatColumWidth, "> " + def.getLowerAgeLimit()));
|
||||
} else if (def.getLowerAgeLimit() == def.getUpperAgeLimit()) {
|
||||
if (def.getLowerAgeLimit() == 0) {
|
||||
builder.append(String.format(formatColumWidth, "today"));
|
||||
} else {
|
||||
builder.append(String.format(formatColumWidth, def.getLowerAgeLimit()));
|
||||
}
|
||||
} else {
|
||||
builder.append(
|
||||
String.format(formatColumWidth, def.getLowerAgeLimit() + ".." + def.getUpperAgeLimit()));
|
||||
}
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
|
||||
for (String rl : report.getReportLines().keySet()) {
|
||||
builder
|
||||
.append(String.format(formatFirstColumn, rl, report.getReportLines().get(rl).getTotalNumberOfTasks()));
|
||||
if (reportLineItemDefinitions != null) {
|
||||
for (ReportLineItem reportLineItem : report.getReportLines().get(rl).getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, reportLineItem.getNumberOfTasks()));
|
||||
}
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
}
|
||||
builder.append(String.format(formatFirstColumnSumLine, "Total", report.getSumLine().getTotalNumberOfTasks()));
|
||||
for (ReportLineItem sumLine : report.getSumLine().getLineItems()) {
|
||||
builder.append(String.format(formatColumWidth, sumLine.getNumberOfTasks()));
|
||||
}
|
||||
builder.append("|\n");
|
||||
for (int i = 0; i < reportWidth; i++) {
|
||||
builder.append("-");
|
||||
}
|
||||
builder.append("\n");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void cleanUpClass() {
|
||||
FileUtils.deleteRecursive("~/data", true);
|
||||
|
|
|
@ -4,12 +4,6 @@ INSERT INTO WORKBASKET VALUES ('WBI:000000000000000000000000000000000002', 'USER
|
|||
INSERT INTO WORKBASKET VALUES ('WBI:000000000000000000000000000000000003', 'USER_1_3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK User 1 KSC 3', 'MONITOR_TEST_DOMAIN', 'PERSONAL', 'Monitor Test Postkorb 3', 'John' , '' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO WORKBASKET VALUES ('WBI:000000000000000000000000000000000004', 'USER_1_4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK User 1 KSC 4', 'MONITOR_TEST_DOMAIN', 'PERSONAL', 'Monitor Test Postkorb 4', 'John' , '' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
||||
-- WORKBASKET_ACCESS_LIST TABLE (ID , WORKBASKET_ID , ACCESS_ID , PERM_READ, PERM_OPEN, PERM_APPEND, PERM_TRANSFER, PERM_DISTRIBUTE, PERM_CUSTOM_1, PERM_CUSTOM_2, PERM_CUSTOM_3, PERM_CUSTOM_4, PERM_CUSTOM_5, PERM_CUSTOM_6, PERM_CUSTOM_7, PERM_CUSTOM_8, PERM_CUSTOM_9, PERM_CUSTOM_10, PERM_CUSTOM_11, PERM_CUSTOM_12 );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:000000000000000000000000000000000001', 'WBI:000000000000000000000000000000000001', 'monitor_user_1', true , true , true , true , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:000000000000000000000000000000000002', 'WBI:000000000000000000000000000000000002', 'monitor_user_1', true , true , true , true , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:000000000000000000000000000000000003', 'WBI:000000000000000000000000000000000003', 'monitor_user_1', true , true , true , true , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:000000000000000000000000000000000004', 'WBI:000000000000000000000000000000000004', 'monitor_user_1', true , true , true , true , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
|
||||
-- CLASSIFICATION TABLE (ID , KEY , PARENT_ID , CATEGORY , TYPE , DOMAIN , VALID_IN_DOMAIN, CREATED , NAME , DESCRIPTION , PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1 , CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8 );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000001', 'L10000', '' , 'EXTERN' , 'TASK', 'DOMAIN_A', TRUE , CURRENT_TIMESTAMP, 'OLD-Leistungsfall' , 'OLD-Leistungsfall' , 3 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000002', 'L20000', 'CLI:000000000000000000000000000000000001' , 'EXTERN' , 'TASK', 'DOMAIN_A', TRUE , CURRENT_TIMESTAMP, 'Beratungsprotokoll' , 'Beratungsprotokoll', 1 , 'P1D' , '' , 'VNR,RVNR,KOLVNR, ANR', '' , '' , '' , '' , '' , '' , '' );
|
||||
|
|
Loading…
Reference in New Issue