TSK-1982 refactore QueryClassificationWithPaginationAccTest to use Test-API

This commit is contained in:
arolfes 2023-01-26 22:48:13 +01:00 committed by Elena Mokeeva
parent 3eca4964f0
commit d433aa3e9e
2 changed files with 138 additions and 141 deletions

View File

@ -0,0 +1,138 @@
package acceptance.classification.query;
import static org.assertj.core.api.Assertions.assertThat;
import static pro.taskana.testapi.DefaultTestEntities.defaultTestClassification;
import java.util.List;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.models.ClassificationSummary;
import pro.taskana.testapi.TaskanaInject;
import pro.taskana.testapi.TaskanaIntegrationTest;
import pro.taskana.testapi.security.WithAccessId;
@TaskanaIntegrationTest
public class ClassificationQueryOffsetAndPaginationAccTest {
@TaskanaInject ClassificationService classificationService;
@WithAccessId(user = "businessadmin")
@BeforeAll
void createClassifications() throws Exception {
for (int i = 0; i <= 18; i++) {
defaultTestClassification().buildAndStoreAsSummary(classificationService);
}
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetFirstFiveClassifications_When_OffsetIsZeroAndLimitIsFive() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(0, 5);
assertThat(results).hasSize(5);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetLastFourClassifications_When_OffsetIsFifteenAndLimitIsFive() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(15, 5);
assertThat(results).hasSize(4);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetZeroClassifications_When_OffsetIsNegativeAndLimitIsNegative() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(-1, -1);
assertThat(results).hasSize(0);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetZeroClassifications_When_LimitIsNegative() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(0, -1);
assertThat(results).hasSize(0);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetZeroClassifications_When_OffsetAndLimitAreZero() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(0, 0);
assertThat(results).hasSize(0);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetOneClassifications_When_OffsetIsNegativeAndLimitIsPositive() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(-1, 1);
assertThat(results).hasSize(1);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetFirstFiveClassifications_When_UsingPaginationWithPageOneAndSizeFive() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(1, 5);
assertThat(results).hasSize(5);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetLastFourClassifications_When_UsingPaginationWithPageFourAndPageSizeFive() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(4, 5);
assertThat(results).hasSize(4);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetAllClassifications_When_UsingPaginationWithPageOneAndPageSizeTwenty() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(1, 20);
assertThat(results).hasSize(19);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetZeroClassifications_When_UsingPaginationWithSizeZero() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(1, 0);
assertThat(results).hasSize(0);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetZeroClassifications_When_UsingPaginationWithNegativeSize() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(1, -1);
assertThat(results).hasSize(0);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetOneClassification_When_UsingPaginationWithPageZeroButSizeOne() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(0, 1);
assertThat(results).hasSize(1);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetOneClassification_When_UsingPaginationWithNegativePageButSizeOne() {
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").listPage(-1, 1);
assertThat(results).hasSize(1);
}
@WithAccessId(user = "businessadmin")
@Test
void should_GetNumberOfAllClassifications_When_CountMethodIsCalled() {
long count = classificationService.createClassificationQuery().domainIn("DOMAIN_A").count();
assertThat(count).isEqualTo(19L);
}
}

View File

@ -1,141 +0,0 @@
package acceptance.classification.query;
import static org.assertj.core.api.Assertions.assertThat;
import acceptance.AbstractAccTest;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.models.ClassificationSummary;
import pro.taskana.common.test.security.JaasExtension;
/** Acceptance test for all "query classifications with pagination" scenarios. */
@ExtendWith(JaasExtension.class)
class QueryClassificationWithPaginationAccTest extends AbstractAccTest {
QueryClassificationWithPaginationAccTest() {
super();
}
@Test
void testGetFirstPageOfClassificationQueryWithOffset() {
ClassificationService classificationService = taskanaEngine.getClassificationService();
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(0, 5);
assertThat(results).hasSize(5);
}
@Test
void testGetSecondPageOfClassificationQueryWithOffset() {
ClassificationService classificationService = taskanaEngine.getClassificationService();
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(5, 5);
assertThat(results).hasSize(5);
}
@Test
void testListOffsetAndLimitOutOfBounds() {
ClassificationService classificationService = taskanaEngine.getClassificationService();
// both will be 0, working
List<ClassificationSummary> results =
classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(-1, -3);
assertThat(results).isEmpty();
// limit will be 0
results = classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(1, -3);
assertThat(results).isEmpty();
// offset will be 0
results = classificationService.createClassificationQuery().domainIn("DOMAIN_A").list(-1, 3);
assertThat(results).hasSize(3);
}
@Test
void testPaginationWithPages() {
ClassificationService classificationService = taskanaEngine.getClassificationService();
// Getting full page
int pageNumber = 1;
int pageSize = 4;
List<ClassificationSummary> results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).hasSize(4);
// Getting full page
pageNumber = 3;
pageSize = 4;
results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).hasSize(4);
// Getting last results on 1 big page
pageNumber = 1;
pageSize = 100;
results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).hasSize(18);
// Getting last results on multiple pages
pageNumber = 2;
pageSize = 10;
results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).hasSize(8);
}
@Test
void testPaginationNullAndNegativeLimitsIgnoring() {
ClassificationService classificationService = taskanaEngine.getClassificationService();
// 0 limit/size = 0 results
int pageNumber = 1;
int pageSize = 0;
List<ClassificationSummary> results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).isEmpty();
// Negative will be 0 = all results
pageNumber = 1;
pageSize = -1;
results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).isEmpty();
// Negative page = first page
pageNumber = -1;
pageSize = 10;
results =
classificationService
.createClassificationQuery()
.domainIn("DOMAIN_A")
.listPage(pageNumber, pageSize);
assertThat(results).hasSize(10);
}
@Test
void testCountOfClassificationsQuery() {
ClassificationService classificationService = taskanaEngine.getClassificationService();
long count = classificationService.createClassificationQuery().domainIn("DOMAIN_A").count();
assertThat(count).isEqualTo(18L);
}
}