TSK-1982 refactore QueryClassificationWithPaginationAccTest to use Test-API
This commit is contained in:
parent
42134aee23
commit
61727b1dcb
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue