TSK-1841: refactor GetClassificationAccTest to use test-api

This commit is contained in:
ryzheboka 2022-04-07 16:13:50 +02:00 committed by Elena Mokeeva
parent c46222c43a
commit 59a4968106
2 changed files with 163 additions and 152 deletions

View File

@ -0,0 +1,163 @@
package acceptance.classification.get;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_1;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_2;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_3;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_4;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_5;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_6;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_7;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_8;
import static pro.taskana.common.api.SharedConstants.MASTER_DOMAIN;
import java.time.Instant;
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.classification.api.models.Classification;
import pro.taskana.testapi.DefaultTestEntities;
import pro.taskana.testapi.TaskanaInject;
import pro.taskana.testapi.TaskanaIntegrationTest;
import pro.taskana.testapi.builder.ClassificationBuilder;
import pro.taskana.testapi.security.WithAccessId;
@TaskanaIntegrationTest
class GetClassificationAccTest {
@TaskanaInject ClassificationService classificationService;
Classification defaultClassification;
Classification classificationWithAllProperties;
@WithAccessId(user = "businessadmin")
@BeforeAll
void setup() throws Exception {
defaultClassification =
DefaultTestEntities.defaultTestClassification().buildAndStore(classificationService);
classificationWithAllProperties =
ClassificationBuilder.newClassification()
.key("Key")
.domain("DOMAIN_A")
.name("Name")
.category("AUTOMATIC")
.parentId(defaultClassification.getId())
.type("TASK")
.priority(2)
.applicationEntryPoint("EntryPoint")
.created(Instant.now())
.serviceLevel("P2D")
.description("Description")
.modified(Instant.now())
.customAttribute(CUSTOM_1, "custom1")
.customAttribute(CUSTOM_2, "custom2")
.customAttribute(CUSTOM_3, "custom3")
.customAttribute(CUSTOM_4, "custom4")
.customAttribute(CUSTOM_5, "custom5")
.customAttribute(CUSTOM_6, "custom6")
.customAttribute(CUSTOM_7, "custom7")
.customAttribute(CUSTOM_8, "custom8")
.buildAndStore(classificationService);
}
@WithAccessId(user = "user-1-1")
@Test
void should_getClassificationById_When_AllPropertiesSet() throws Exception {
Classification classification =
classificationService.getClassification(classificationWithAllProperties.getId());
assertThat(classification)
.hasNoNullFieldsOrProperties()
.isEqualTo(classificationWithAllProperties);
}
@WithAccessId(user = "user-1-1")
@Test
void should_getClassificationByKeyAndDomain_When_AllPropertiesSet() throws Exception {
Classification classification =
classificationService.getClassification(
classificationWithAllProperties.getKey(), classificationWithAllProperties.getDomain());
assertThat(classification)
.hasNoNullFieldsOrProperties()
.isEqualTo(classificationWithAllProperties);
}
@WithAccessId(user = "user-1-1")
@Test
void should_ThrowException_When_ClassificationIdIsNull() {
ThrowingCallable test = () -> classificationService.getClassification(null);
assertThatThrownBy(test).isInstanceOf(ClassificationNotFoundException.class);
}
@WithAccessId(user = "user-1-1")
@Test
void should_ThrowException_When_ClassificationIdDoesNotExist() {
ThrowingCallable test = () -> classificationService.getClassification("CLI:NonExistingId");
assertThatThrownBy(test).isInstanceOf(ClassificationNotFoundException.class);
}
@WithAccessId(user = "user-1-1")
@Test
void should_ThrowException_When_ClassificationKeyIsNull() {
ThrowingCallable test =
() ->
classificationService.getClassification(
null, classificationWithAllProperties.getDomain());
assertThatThrownBy(test).isInstanceOf(ClassificationNotFoundException.class);
}
@WithAccessId(user = "user-1-1")
@Test
void should_ThrowException_When_ClassificationKeyDoesNotExist() {
ThrowingCallable test =
() ->
classificationService.getClassification(
"WrongKey", classificationWithAllProperties.getDomain());
assertThatThrownBy(test).isInstanceOf(ClassificationNotFoundException.class);
}
@WithAccessId(user = "user-1-1")
@Test
void should_ReturnMasterClassification_When_ClassificationDomainDoesNotExist() throws Exception {
Classification classification =
classificationService.getClassification(
classificationWithAllProperties.getKey(), "WrongDomain");
assertThat(classification).isNotNull().hasNoNullFieldsOrProperties();
assertThat(classification.getDomain()).isEqualTo(MASTER_DOMAIN);
assertThat(classification.getKey()).isEqualTo(classificationWithAllProperties.getKey());
}
@WithAccessId(user = "user-1-1")
@Test
void should_GetSpecialCharacterCorrectly_When_AFieldContainsASpecialCharacter() throws Exception {
Classification classification =
DefaultTestEntities.defaultTestClassification()
.name("Zustimmungserklärung")
.buildAndStore(classificationService, "businessadmin");
Classification result = classificationService.getClassification(classification.getId());
assertThat(result.getName()).isEqualTo("Zustimmungserklärung");
}
@Test
void should_GetClassification_For_MasterDomain() throws Exception {
Classification classification =
classificationService.getClassification(
classificationWithAllProperties.getKey(), MASTER_DOMAIN);
assertThat(classification).isNotNull().hasNoNullFieldsOrProperties();
assertThat(classification.getDomain()).isEqualTo(MASTER_DOMAIN);
assertThat(classification.getKey()).isEqualTo(classificationWithAllProperties.getKey());
}
}

View File

@ -1,152 +0,0 @@
package acceptance.classification.get;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_1;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_2;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_3;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_4;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_5;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_6;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_7;
import static pro.taskana.classification.api.ClassificationCustomField.CUSTOM_8;
import static pro.taskana.common.api.SharedConstants.MASTER_DOMAIN;
import acceptance.AbstractAccTest;
import java.util.List;
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
import org.junit.jupiter.api.Test;
import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.classification.api.models.Classification;
import pro.taskana.classification.api.models.ClassificationSummary;
/** Acceptance test for all "get classification" scenarios. */
class GetClassificationAccTest extends AbstractAccTest {
private ClassificationService classificationService;
GetClassificationAccTest() {
super();
classificationService = taskanaEngine.getClassificationService();
}
@Test
void testFindAllClassifications() {
List<ClassificationSummary> classificationSummaryList =
classificationService.createClassificationQuery().list();
assertThat(classificationSummaryList).isNotNull();
}
@Test
void testGetOneClassificationByKeyAndDomain() throws Exception {
Classification classification = classificationService.getClassification("T6310", "DOMAIN_A");
assertThat(classification).isNotNull();
assertThat(classification.getId()).isEqualTo("CLI:100000000000000000000000000000000011");
assertThat(classification.getParentId()).isEmpty();
assertThat(classification.getCategory()).isEqualTo("AUTOMATIC");
assertThat(classification.getType()).isEqualTo("TASK");
assertThat(classification.getIsValidInDomain()).isTrue();
assertThat(classification.getName()).isEqualTo("T-GUK Honorarrechnung erstellen");
assertThat(classification.getPriority()).isEqualTo(2);
assertThat(classification.getServiceLevel()).isEqualTo("P2D");
assertThat(classification.getApplicationEntryPoint()).isEqualTo("point0815");
assertThat(classification.getCustomField(CUSTOM_1)).isEqualTo("VNR");
assertThat(classification.getCustomField(CUSTOM_2)).isEqualTo("custom2");
assertThat(classification.getCustomField(CUSTOM_3)).isEqualTo("custom3");
assertThat(classification.getCustomField(CUSTOM_4)).isEqualTo("custom4");
assertThat(classification.getCustomField(CUSTOM_5)).isEqualTo("custom5");
assertThat(classification.getCustomField(CUSTOM_6)).isEqualTo("custom6");
assertThat(classification.getCustomField(CUSTOM_7)).isEqualTo("custom7");
assertThat(classification.getCustomField(CUSTOM_8)).isEqualTo("custom8");
}
@Test
void testGetOneClassificationById() throws Exception {
Classification classification =
classificationService.getClassification("CLI:100000000000000000000000000000000011");
assertThat(classification).isNotNull();
assertThat(classification.getKey()).isEqualTo("T6310");
assertThat(classification.getParentId()).isEmpty();
assertThat(classification.getCategory()).isEqualTo("AUTOMATIC");
assertThat(classification.getType()).isEqualTo("TASK");
assertThat(classification.getDomain()).isEqualTo("DOMAIN_A");
assertThat(classification.getIsValidInDomain()).isTrue();
assertThat(classification.getName()).isEqualTo("T-GUK Honorarrechnung erstellen");
assertThat(classification.getPriority()).isEqualTo(2);
assertThat(classification.getServiceLevel()).isEqualTo("P2D");
assertThat(classification.getApplicationEntryPoint()).isEqualTo("point0815");
assertThat(classification.getCustomField(CUSTOM_1)).isEqualTo("VNR");
assertThat(classification.getCustomField(CUSTOM_2)).isEqualTo("custom2");
assertThat(classification.getCustomField(CUSTOM_3)).isEqualTo("custom3");
assertThat(classification.getCustomField(CUSTOM_4)).isEqualTo("custom4");
assertThat(classification.getCustomField(CUSTOM_5)).isEqualTo("custom5");
assertThat(classification.getCustomField(CUSTOM_6)).isEqualTo("custom6");
assertThat(classification.getCustomField(CUSTOM_7)).isEqualTo("custom7");
assertThat(classification.getCustomField(CUSTOM_8)).isEqualTo("custom8");
}
@Test
void testGetClassificationWithSpecialCharacter() throws Exception {
Classification classification =
classificationService.getClassification("CLI:100000000000000000000000000000000009");
assertThat(classification.getName()).isEqualTo("Zustimmungserklärung");
}
@Test
void testGetClassificationAsSummary() throws Exception {
ClassificationSummary classification =
classificationService
.getClassification("CLI:100000000000000000000000000000000011")
.asSummary();
assertThat(classification).isNotNull();
assertThat(classification.getKey()).isEqualTo("T6310");
assertThat(classification.getParentId()).isEmpty();
assertThat(classification.getCategory()).isEqualTo("AUTOMATIC");
assertThat(classification.getType()).isEqualTo("TASK");
assertThat(classification.getDomain()).isEqualTo("DOMAIN_A");
assertThat(classification.getName()).isEqualTo("T-GUK Honorarrechnung erstellen");
// assertThat(classification.getDescription())
// .isEqualTo("Generali Unterstützungskasse Honorar wird fällig");
assertThat(classification.getPriority()).isEqualTo(2);
assertThat(classification.getServiceLevel()).isEqualTo("P2D");
}
@Test
void testGetOneClassificationByIdFails() {
ThrowingCallable call =
() -> classificationService.getClassification("CLI:100000000470000000000000000000000011");
assertThatThrownBy(call).isInstanceOf(ClassificationNotFoundException.class);
}
@Test
void testGetClassificationByNullKeyFails() {
ThrowingCallable call = () -> classificationService.getClassification(null, MASTER_DOMAIN);
assertThatThrownBy(call).isInstanceOf(ClassificationNotFoundException.class);
}
@Test
void testGetClassificationByInvalidKeyAndDomain() {
ThrowingCallable call =
() -> classificationService.getClassification("Key0815", "NOT_EXISTING");
assertThatThrownBy(call).isInstanceOf(ClassificationNotFoundException.class);
}
@Test
void testGetOneClassificationForDomainAndGetClassificationFromMasterDomain() throws Exception {
Classification classification = classificationService.getClassification("L10000", "DOMAIN_B");
assertThat(classification).isNotNull();
assertThat(classification.getDomain()).isEmpty();
assertThat(classification.getPriority()).isEqualTo(999L);
}
@Test
void testGetOneClassificationForMasterDomain() throws Exception {
Classification classification =
classificationService.getClassification("L10000", MASTER_DOMAIN);
assertThat(classification).isNotNull();
assertThat(classification.getDomain()).isEmpty();
assertThat(classification.getPriority()).isEqualTo(999L);
}
}