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