RED-6467: Fix test by using a comparison method that is not dependent on a specific sorting being provided by the client

This commit is contained in:
Viktor Seifert 2023-04-11 16:14:19 +02:00
parent 05e03b8982
commit b14d56195e

View File

@ -7,6 +7,7 @@ import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -34,6 +35,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierAttr
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierStatusRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributesConfig;
import com.iqser.red.service.persistence.service.v1.api.shared.model.TypeValue;
import com.iqser.red.service.persistence.service.v1.api.shared.model.WatermarkModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.CloneDossierTemplateRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DossierAttributeConfig;
@ -311,9 +313,9 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
assertThat(reportTemplateClient.getAvailableReportTemplates(dossierTemplate.getId()).get(0).getFileName()).isEqualTo(reportTemplateClient.getAvailableReportTemplates(
clonedDT.getId()).get(0).getFileName());
assertThat(dictionaryClient.getColors(dossierTemplate.getId()).getRequestAddColor()).isEqualTo(dictionaryClient.getColors(clonedDT.getId()).getRequestAddColor());
assertThat(dictionaryClient.getAllTypes(dossierTemplate.getId(), null, false).getTypes().get(0).getRank()).isEqualTo(dictionaryClient.getAllTypes(clonedDT.getId(),
null,
false).getTypes().get(0).getRank());
var types = getTypesSortedByRank(dossierTemplate.getId());
var clonedTypes = getTypesSortedByRank(clonedDT.getId());
assertThat(types).usingElementComparatorIgnoringFields("typeId", "dossierTemplateId").isEqualTo(clonedTypes);
assertThat(dossierStatusClient.getAllDossierStatusForTemplate(dossierTemplate.getId())
.get(0)
.getDescription()).isEqualTo(dossierStatusClient.getAllDossierStatusForTemplate(clonedDT.getId()).get(0).getDescription());
@ -324,6 +326,19 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
}
@NotNull
private List<TypeValue> getTypesSortedByRank(String dossierTemplateId) {
return dictionaryClient.getAllTypes(dossierTemplateId, null, false).getTypes().stream().sorted(DossierTemplateTest::compareByRank).toList();
}
private static int compareByRank(TypeValue o1, TypeValue o2) {
return o1.getRank() - o2.getRank();
}
@SneakyThrows
@Test
public void testExportDossierTemplate() {
@ -664,14 +679,19 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
public void testImportDossierTemplateNewTemplatewithCompressionRatioThresholdSurpassed() {
String fileZip = "EFSA_sanitisation_GFL_v1_adress_parts.zip";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(fileZip);
try (InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(fileZip)) {
if (inputStream == null) {
throw new RuntimeException("Resource " + fileZip + " was not found on the classpath or is not readable");
}
ImportDossierTemplateRequest request1 = ImportDossierTemplateRequest.builder()
.dossierTemplateId("sds")
.updateExistingDossierTemplate(false)
.userId("1")
.archive(inputStream.readAllBytes())
.build();
}
ImportDossierTemplateRequest request1 = ImportDossierTemplateRequest.builder()
.dossierTemplateId("sds")
.updateExistingDossierTemplate(false)
.userId("1")
.archive(inputStream.readAllBytes())
.build();
// TODO MIGRATION ***
// try {
// var newDossierTemplate = dossierTemplateClient.importDossierTemplate(request1);