From f54a02ccb16a0dcff749bfa9e0835d628eb1029d Mon Sep 17 00:00:00 2001 From: "julian.schallenmueller" Date: Tue, 12 Jun 2018 09:03:25 +0200 Subject: [PATCH] TSK-564: Improved classification mapper test coverage --- .../GetClassificationAccTest.java | 79 ++++++++++++++++--- .../QueryClassificationAccTest.java | 26 ++++++ .../src/test/resources/sql/classification.sql | 2 +- 3 files changed, 94 insertions(+), 13 deletions(-) diff --git a/lib/taskana-core/src/test/java/acceptance/classification/GetClassificationAccTest.java b/lib/taskana-core/src/test/java/acceptance/classification/GetClassificationAccTest.java index 6e6f28e95..a2e55d120 100644 --- a/lib/taskana-core/src/test/java/acceptance/classification/GetClassificationAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/classification/GetClassificationAccTest.java @@ -1,8 +1,11 @@ package acceptance.classification; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; + import java.util.List; -import org.junit.Assert; import org.junit.Test; import acceptance.AbstractAccTest; @@ -25,14 +28,31 @@ public class GetClassificationAccTest extends AbstractAccTest { ClassificationService classificationService = taskanaEngine.getClassificationService(); List classificationSummaryList = classificationService.createClassificationQuery() .list(); - Assert.assertNotNull(classificationSummaryList); + assertNotNull(classificationSummaryList); } @Test - public void testGetOneClassificationForDomain() throws ClassificationNotFoundException { + public void testGetOneClassificationByKeyAndDomain() throws ClassificationNotFoundException { ClassificationService classificationService = taskanaEngine.getClassificationService(); Classification classification = classificationService.getClassification("T6310", "DOMAIN_A"); - Assert.assertNotNull(classification); + assertNotNull(classification); + assertEquals("CLI:100000000000000000000000000000000011", classification.getId()); + assertEquals("", classification.getParentId()); + assertEquals("AUTOMATIC", classification.getCategory()); + assertEquals("TASK", classification.getType()); + assertEquals(true, classification.getIsValidInDomain()); + assertEquals("T-GUK Honorarrechnung erstellen", classification.getName()); + assertEquals(2, classification.getPriority()); + assertEquals("P2D", classification.getServiceLevel()); + assertEquals("", classification.getApplicationEntryPoint()); + assertEquals("VNR", classification.getCustom1()); + assertEquals("custom2", classification.getCustom2()); + assertEquals("custom3", classification.getCustom3()); + assertEquals("custom4", classification.getCustom4()); + assertEquals("custom5", classification.getCustom5()); + assertEquals("custom6", classification.getCustom6()); + assertEquals("custom7", classification.getCustom7()); + assertEquals("custom8", classification.getCustom8()); } @Test @@ -40,7 +60,42 @@ public class GetClassificationAccTest extends AbstractAccTest { ClassificationService classificationService = taskanaEngine.getClassificationService(); Classification classification = classificationService .getClassification("CLI:100000000000000000000000000000000011"); - Assert.assertNotNull(classification); + assertNotNull(classification); + assertEquals("T6310", classification.getKey()); + assertEquals("", classification.getParentId()); + assertEquals("AUTOMATIC", classification.getCategory()); + assertEquals("TASK", classification.getType()); + assertEquals("DOMAIN_A", classification.getDomain()); + assertEquals(true, classification.getIsValidInDomain()); + assertEquals("T-GUK Honorarrechnung erstellen", classification.getName()); + assertEquals(2, classification.getPriority()); + assertEquals("P2D", classification.getServiceLevel()); + assertEquals("", classification.getApplicationEntryPoint()); + assertEquals("VNR", classification.getCustom1()); + assertEquals("custom2", classification.getCustom2()); + assertEquals("custom3", classification.getCustom3()); + assertEquals("custom4", classification.getCustom4()); + assertEquals("custom5", classification.getCustom5()); + assertEquals("custom6", classification.getCustom6()); + assertEquals("custom7", classification.getCustom7()); + assertEquals("custom8", classification.getCustom8()); + } + + @Test + public void testGetClassificationAsSummary() throws ClassificationNotFoundException { + ClassificationService classificationService = taskanaEngine.getClassificationService(); + ClassificationSummary classification = classificationService + .getClassification("CLI:100000000000000000000000000000000011").asSummary(); + assertNotNull(classification); + assertEquals("T6310", classification.getKey()); + assertEquals("", classification.getParentId()); + assertEquals("AUTOMATIC", classification.getCategory()); + assertEquals("TASK", classification.getType()); + assertEquals("DOMAIN_A", classification.getDomain()); + assertEquals("T-GUK Honorarrechnung erstellen", classification.getName()); + //assertEquals("Generali Unterstützungskasse Honorar wird fällig", classification.getDescription()); + assertEquals(2, classification.getPriority()); + assertEquals("P2D", classification.getServiceLevel()); } @Test(expected = ClassificationNotFoundException.class) @@ -48,7 +103,7 @@ public class GetClassificationAccTest extends AbstractAccTest { ClassificationService classificationService = taskanaEngine.getClassificationService(); Classification classification = classificationService .getClassification("CLI:100000000470000000000000000000000011"); - Assert.fail("ClassificationNotFoundException was expected"); + fail("ClassificationNotFoundException was expected"); } @Test @@ -56,17 +111,17 @@ public class GetClassificationAccTest extends AbstractAccTest { throws ClassificationNotFoundException { ClassificationService classificationService = taskanaEngine.getClassificationService(); Classification classification = classificationService.getClassification("L10000", "DOMAIN_B"); - Assert.assertNotNull(classification); - Assert.assertEquals("", classification.getDomain()); - Assert.assertEquals(999L, classification.getPriority()); + assertNotNull(classification); + assertEquals("", classification.getDomain()); + assertEquals(999L, classification.getPriority()); } @Test public void testGetOneClassificationForRootDomain() throws ClassificationNotFoundException { ClassificationService classificationService = taskanaEngine.getClassificationService(); Classification classification = classificationService.getClassification("L10000", ""); - Assert.assertNotNull(classification); - Assert.assertEquals("", classification.getDomain()); - Assert.assertEquals(999L, classification.getPriority()); + assertNotNull(classification); + assertEquals("", classification.getDomain()); + assertEquals(999L, classification.getPriority()); } } diff --git a/lib/taskana-core/src/test/java/acceptance/classification/QueryClassificationAccTest.java b/lib/taskana-core/src/test/java/acceptance/classification/QueryClassificationAccTest.java index 43c32a135..2eaeff8ea 100644 --- a/lib/taskana-core/src/test/java/acceptance/classification/QueryClassificationAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/classification/QueryClassificationAccTest.java @@ -3,18 +3,28 @@ package acceptance.classification; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import java.time.Instant; import java.util.List; import java.util.stream.Collectors; import org.junit.Test; +import org.junit.runner.RunWith; import acceptance.AbstractAccTest; import pro.taskana.ClassificationService; import pro.taskana.ClassificationSummary; +import pro.taskana.TimeInterval; +import pro.taskana.exceptions.ClassificationNotFoundException; +import pro.taskana.exceptions.ConcurrencyException; +import pro.taskana.exceptions.InvalidArgumentException; +import pro.taskana.exceptions.NotAuthorizedException; +import pro.taskana.security.JAASRunner; +import pro.taskana.security.WithAccessId; /** * Acceptance test for all "get classification" scenarios. */ +@RunWith(JAASRunner.class) public class QueryClassificationAccTest extends AbstractAccTest { public QueryClassificationAccTest() { @@ -228,4 +238,20 @@ public class QueryClassificationAccTest extends AbstractAccTest { } + @WithAccessId( + userName = "businessadmin") + @Test + public void testFindClassificationByModifiedWithin() + throws ClassificationNotFoundException, NotAuthorizedException, ConcurrencyException, InvalidArgumentException { + ClassificationService classificationService = taskanaEngine.getClassificationService(); + String clId = "CLI:200000000000000000000000000000000015"; + classificationService.updateClassification(classificationService.getClassification(clId)); + List list = classificationService.createClassificationQuery() + .modifiedWithin(new TimeInterval( + classificationService.getClassification(clId).getModified(), + Instant.now())) + .list(); + assertEquals(1, list.size()); + assertEquals(clId, list.get(0).getId()); + } } diff --git a/lib/taskana-core/src/test/resources/sql/classification.sql b/lib/taskana-core/src/test/resources/sql/classification.sql index 87d8a2303..de4c3b776 100644 --- a/lib/taskana-core/src/test/resources/sql/classification.sql +++ b/lib/taskana-core/src/test/resources/sql/classification.sql @@ -25,7 +25,7 @@ INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000 INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000008', 'L12010', '', '', 'EXTERNAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gewährung-Policendarlehen', 'Gewährung-Policendarlehen', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', ''); INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000009', 'L140101', '', '', 'EXTERNAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', ''); INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000010', 'T2100', '', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', ''); -INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000011', 'T6310', '', '', 'AUTOMATIC', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'T-GUK Honorarrechnung erstellen', 'Generali Unterstützungskasse Honorar wird fällig', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', ''); +INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000011', 'T6310', '', '', 'AUTOMATIC', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'T-GUK Honorarrechnung erstellen', 'Generali Unterstützungskasse Honorar wird fällig', 2, 'P2D', '', 'VNR', 'custom2', 'custom3', 'custom4', 'custom5', 'custom6', 'custom7', 'custom8'); INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000013', 'DOCTYPE_DEFAULT', '', '', 'EXTERNAL', 'DOCUMENT', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', ''); INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000014', 'L10000', '', '', 'EXTERNAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', 'VNR', 'VNR', 'VNR', '', '', '', ''); INSERT INTO TASKANA.CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T2000', '', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'T-Vertragstermin', 'T-Vertragstermin', 1, 'P1D', '', 'VNR,KOLVNR,RVNR', 'CUSTOM_2', 'Custom_3', 'custom_4', '', '', '', '');