RED-7049 - Wrong error code when adding entity with already existing rank - backport
- reworked the junit test and renamed it Signed-off-by: Corina Olariu <corina.olariu.ext@knecon.com>
This commit is contained in:
parent
f8645ef50c
commit
9eb0e5e8df
@ -0,0 +1,171 @@
|
|||||||
|
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
|
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.ColorsService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.DossierTemplateCloneService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.DossierTemplateImportService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.DossierTemplateManagementService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.WatermarkService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.export.DossierTemplateExportService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierStatusPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierTemplatePersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.EntryPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ReportTemplatePersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository;
|
||||||
|
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.importexport.ExportDownloadRequest;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.TypeRankSummary;
|
||||||
|
import com.iqser.red.storage.commons.service.StorageService;
|
||||||
|
|
||||||
|
import lombok.SneakyThrows;
|
||||||
|
|
||||||
|
//@DirtiesContext
|
||||||
|
@ExtendWith(SpringExtension.class)
|
||||||
|
public class DossierTemplateCloneAndExportWithDuplicateRanksTest {
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private DossierTemplateRepository dossierTemplateRepository;
|
||||||
|
@MockBean
|
||||||
|
private LegalBasisMappingPersistenceService legalBasisMappingPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private RulesPersistenceService rulesPersistenceService;
|
||||||
|
|
||||||
|
// private DossierTemplatePersistenceService dossierTemplatePersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private DossierAttributeConfigPersistenceService dossierAttributeConfigPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private DictionaryPersistenceService dictionaryPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private EntryPersistenceService entryPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private FileAttributeConfigPersistenceService fileAttributeConfigPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private ReportTemplatePersistenceService reportTemplatePersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private ColorsService colorsService;
|
||||||
|
@MockBean
|
||||||
|
private StorageService storageService;
|
||||||
|
@MockBean
|
||||||
|
private DossierStatusPersistenceService dossierStatusPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private WatermarkService watermarkService;
|
||||||
|
@MockBean
|
||||||
|
private FileManagementStorageService fileManagementStorageService;
|
||||||
|
@MockBean
|
||||||
|
private DownloadStatusPersistenceService downloadStatusPersistenceService;
|
||||||
|
@MockBean
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
@MockBean
|
||||||
|
private TypeRepository typeRepository;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private DossierTemplateImportService dossierTemplateImportService;
|
||||||
|
|
||||||
|
private DossierTemplatePersistenceService dossierTemplatePersistenceService;
|
||||||
|
private DossierTemplateCloneService dossierTemplateCloneService;
|
||||||
|
private DossierTemplateExportService dossierTemplateExportService;
|
||||||
|
|
||||||
|
private DossierTemplateManagementService dossierTemplateManagementService;
|
||||||
|
private String dossierTemplateId = "dossierTemplateId";
|
||||||
|
private String dossierTemplateName = "Clone of " + dossierTemplateId;
|
||||||
|
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setupData() {
|
||||||
|
|
||||||
|
dossierTemplatePersistenceService = new DossierTemplatePersistenceService(dossierTemplateRepository,
|
||||||
|
legalBasisMappingPersistenceService,
|
||||||
|
rulesPersistenceService,
|
||||||
|
dictionaryPersistenceService,
|
||||||
|
typeRepository);
|
||||||
|
dossierTemplateCloneService = new DossierTemplateCloneService(dossierTemplateRepository,
|
||||||
|
legalBasisMappingPersistenceService,
|
||||||
|
rulesPersistenceService,
|
||||||
|
dossierTemplatePersistenceService,
|
||||||
|
dossierAttributeConfigPersistenceService,
|
||||||
|
dictionaryPersistenceService,
|
||||||
|
entryPersistenceService,
|
||||||
|
fileAttributeConfigPersistenceService,
|
||||||
|
reportTemplatePersistenceService,
|
||||||
|
colorsService,
|
||||||
|
storageService,
|
||||||
|
dossierStatusPersistenceService,
|
||||||
|
watermarkService,
|
||||||
|
fileManagementStorageService);
|
||||||
|
dossierTemplateExportService = new DossierTemplateExportService(dossierTemplatePersistenceService,
|
||||||
|
downloadStatusPersistenceService,
|
||||||
|
dossierAttributeConfigPersistenceService,
|
||||||
|
dossierStatusPersistenceService,
|
||||||
|
dictionaryPersistenceService,
|
||||||
|
fileAttributeConfigPersistenceService,
|
||||||
|
legalBasisMappingPersistenceService,
|
||||||
|
rulesPersistenceService,
|
||||||
|
fileManagementStorageService,
|
||||||
|
reportTemplatePersistenceService,
|
||||||
|
colorsService,
|
||||||
|
entryPersistenceService,
|
||||||
|
watermarkService,
|
||||||
|
rabbitTemplate);
|
||||||
|
dossierTemplateManagementService = new DossierTemplateManagementService(dossierTemplateExportService,
|
||||||
|
dossierTemplateImportService,
|
||||||
|
dossierTemplatePersistenceService,
|
||||||
|
dossierTemplateCloneService);
|
||||||
|
|
||||||
|
List<TypeRankSummary> typesValues = new ArrayList<>();
|
||||||
|
TypeRankSummary typeRank1 = new TypeRankSummary(dossierTemplateId, null, 50, 2);
|
||||||
|
TypeRankSummary typeRank2 = new TypeRankSummary(dossierTemplateId, null, 100, 1);
|
||||||
|
typesValues.add(typeRank1);
|
||||||
|
typesValues.add(typeRank2);
|
||||||
|
when(dictionaryPersistenceService.getTypeRankSummaryList(dossierTemplateId)).thenReturn(typesValues);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SneakyThrows
|
||||||
|
public void testDownloadWithDuplicateRanks() {
|
||||||
|
|
||||||
|
// test the export of dossier template
|
||||||
|
ExportDownloadRequest exportDownloadRequest = new ExportDownloadRequest("userId", dossierTemplateId);
|
||||||
|
Assertions.assertThrows(BadRequestException.class, () -> dossierTemplateManagementService.prepareExportDownload(exportDownloadRequest));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@SneakyThrows
|
||||||
|
public void testCloneDossierTemplateWithDuplicateRanks() {
|
||||||
|
|
||||||
|
CloneDossierTemplateRequest cdtr = CloneDossierTemplateRequest.builder().name(dossierTemplateName).cloningUserId("user").ocrByDefault(true).removeWatermark(false).build();
|
||||||
|
DossierTemplateEntity dossierTemplateEntity = new DossierTemplateEntity();
|
||||||
|
dossierTemplateEntity.setId(dossierTemplateId);
|
||||||
|
when(dossierTemplateRepository.existsByName(cdtr.getName())).thenReturn(false);
|
||||||
|
when(dossierTemplateRepository.findById(dossierTemplateId)).thenReturn(Optional.of(dossierTemplateEntity));
|
||||||
|
Assertions.assertThrows(BadRequestException.class, () -> dossierTemplateManagementService.cloneDossierTemplate(dossierTemplateId, cdtr));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,88 +0,0 @@
|
|||||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
|
||||||
|
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
|
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider;
|
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
|
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel;
|
|
||||||
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.dossier.Dossier;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.TypeRankSummary;
|
|
||||||
|
|
||||||
import feign.FeignException;
|
|
||||||
import lombok.SneakyThrows;
|
|
||||||
|
|
||||||
public class DossierTemplateWithDuplicateRanksTest extends AbstractPersistenceServerServiceTest {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DossierTesterAndProvider dossierTesterAndProvider;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DossierTemplateClient dossierTemplateClient;
|
|
||||||
|
|
||||||
@MockBean
|
|
||||||
private DictionaryPersistenceService dictionaryPersistenceService;
|
|
||||||
|
|
||||||
private DossierTemplateModel dossierTemplate;
|
|
||||||
private Dossier dossier;
|
|
||||||
|
|
||||||
|
|
||||||
@BeforeEach
|
|
||||||
public void setupData() {
|
|
||||||
|
|
||||||
dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
|
||||||
dossier = dossierTesterAndProvider.provideTestDossier(dossierTemplate);
|
|
||||||
|
|
||||||
List<TypeRankSummary> typesValues = new ArrayList<>();
|
|
||||||
TypeRankSummary typeRank1 = new TypeRankSummary(dossierTemplate.getId(), dossier.getId(), 50, 2);
|
|
||||||
TypeRankSummary typeRank2 = new TypeRankSummary(dossierTemplate.getId(), dossier.getId(), 100, 1);
|
|
||||||
typesValues.add(typeRank1);
|
|
||||||
typesValues.add(typeRank2);
|
|
||||||
when(dictionaryPersistenceService.getTypeRankSummaryList(dossierTemplate.getId())).thenReturn(typesValues);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testDownloadWithDuplicateRanks() {
|
|
||||||
|
|
||||||
// test the export of dossier template
|
|
||||||
Assertions.assertThrows(FeignException.BadRequest.class, () -> dossierTemplateClient.prepareExportDownload(dossierTemplate.getId()));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@SneakyThrows
|
|
||||||
public void testCloneDossierTemplateWithDuplicateRanks() {
|
|
||||||
|
|
||||||
var allTemplates = dossierTemplateClient.getAllDossierTemplates();
|
|
||||||
assertThat(allTemplates.size()).isEqualTo(1);
|
|
||||||
assertThat(allTemplates.get(0)).isEqualTo(dossierTemplate);
|
|
||||||
|
|
||||||
CloneDossierTemplateRequest cdtr = CloneDossierTemplateRequest.builder()
|
|
||||||
.name("Clone of " + dossierTemplate.getName())
|
|
||||||
.cloningUserId("user")
|
|
||||||
.ocrByDefault(true)
|
|
||||||
.removeWatermark(false)
|
|
||||||
.build();
|
|
||||||
Assertions.assertThrows(FeignException.BadRequest.class, () -> dossierTemplateClient.cloneDossierTemplate(dossierTemplate.getId(), cdtr));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user