RED-9717: made fileId field required and removed it from WarningModel

fixed tests
This commit is contained in:
yhampe 2024-08-27 12:36:57 +02:00
parent 2908477ce8
commit 6feb0d2a58
3 changed files with 24 additions and 28 deletions

View File

@ -1,5 +1,8 @@
package com.iqser.red.service.persistence.management.v1.processor.service; package com.iqser.red.service.persistence.management.v1.processor.service;
import static com.iqser.red.service.persistence.service.v1.api.shared.model.warning.WarningsComparatorUtils.WARNING_MODEL_COMPARATOR;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -21,10 +24,12 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.warning.War
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults; import lombok.experimental.FieldDefaults;
import lombok.extern.slf4j.Slf4j;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true) @FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
@Slf4j
public class ApprovalVerificationService { public class ApprovalVerificationService {
EntityLogService entityLogService; EntityLogService entityLogService;
@ -34,7 +39,8 @@ public class ApprovalVerificationService {
public ApproveResponse verifyApprovalOfFile(String dossierId, String fileId) { public ApproveResponse verifyApprovalOfFile(String dossierId, String fileId) {
ApproveResponse approveResponse = new ApproveResponse(fileId); ApproveResponse approveResponse = new ApproveResponse();
approveResponse.setFileId(fileId);
EntityLog entityLog = entityLogService.getEntityLog(dossierId, fileId, true); EntityLog entityLog = entityLogService.getEntityLog(dossierId, fileId, true);
List<EntityLogEntry> entityLogEntries = entityLog.getEntityLogEntry(); List<EntityLogEntry> entityLogEntries = entityLog.getEntityLogEntry();
List<LegalBasisEntity> legalBasisMappings = legalBasisMappingPersistenceService.getLegalBasisMapping(dossierRepository.findDossierTemplateId(dossierId)); List<LegalBasisEntity> legalBasisMappings = legalBasisMappingPersistenceService.getLegalBasisMapping(dossierRepository.findDossierTemplateId(dossierId));
@ -64,16 +70,21 @@ public class ApprovalVerificationService {
private void addWarning(EntityLogEntry entry, WarningType warningType, ApproveResponse approveResponse) { private void addWarning(EntityLogEntry entry, WarningType warningType, ApproveResponse approveResponse) {
approveResponse.addFileWarning(WarningModel.builder() ArrayList<WarningModel> fileWarnings = approveResponse.getFileWarnings();
.id(entry.getId()) WarningModel newFileWarning = WarningModel.builder()
.pages(entry.getPositions() .id(entry.getId())
.stream() .pages(entry.getPositions()
.map(Position::getPageNumber) .stream()
.collect(Collectors.toSet())) .map(Position::getPageNumber)
.value(shortenValue(entry.getValue())) .collect(Collectors.toSet()))
.warningType(warningType) .value(shortenValue(entry.getValue()))
.type(entry.getType()) .warningType(warningType)
.build()); .type(entry.getType())
.build();
fileWarnings.add(newFileWarning);
fileWarnings.sort(WARNING_MODEL_COMPARATOR);
approveResponse.setFileWarnings(fileWarnings);
log.info("fileWarnigns: {}", approveResponse.getFileWarnings());
} }

View File

@ -12,7 +12,6 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.boot.test.mock.mockito.SpyBean;
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
@ -117,12 +116,10 @@ public class ApprovalTest extends AbstractPersistenceServerServiceTest {
assertTrue(approveResponse.isHasWarnings()); assertTrue(approveResponse.isHasWarnings());
assertFalse(approveResponse.getFileWarnings().isEmpty()); assertFalse(approveResponse.getFileWarnings().isEmpty());
assertEquals(approveResponse.getFileWarnings() assertEquals(approveResponse.getFileWarnings()
.get(file.getFileId())
.stream() .stream()
.filter(c -> c.getWarningType().equals(WarningType.PENDING_CHANGE)) .filter(c -> c.getWarningType().equals(WarningType.PENDING_CHANGE))
.count(), 1); .count(), 1);
assertEquals(approveResponse.getFileWarnings() assertEquals(approveResponse.getFileWarnings()
.get(file.getFileId())
.stream() .stream()
.filter(c -> c.getWarningType().equals(WarningType.LEGAL_BASIS_MISSING)) .filter(c -> c.getWarningType().equals(WarningType.LEGAL_BASIS_MISSING))
.count(), 1); .count(), 1);
@ -153,10 +150,8 @@ public class ApprovalTest extends AbstractPersistenceServerServiceTest {
assertTrue(approveResponse.isHasWarnings()); assertTrue(approveResponse.isHasWarnings());
assertFalse(approveResponse.getFileWarnings().isEmpty()); assertFalse(approveResponse.getFileWarnings().isEmpty());
assertEquals(approveResponse.getFileWarnings() assertEquals(approveResponse.getFileWarnings()
.get(file.getFileId())
.get(0).getValue().length(), 100); .get(0).getValue().length(), 100);
assertEquals(approveResponse.getFileWarnings() assertEquals(approveResponse.getFileWarnings()
.get(file.getFileId())
.get(0).getWarningType(), WarningType.PENDING_CHANGE); .get(0).getWarningType(), WarningType.PENDING_CHANGE);
} }

View File

@ -1,17 +1,15 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.warning; package com.iqser.red.service.persistence.service.v1.api.shared.model.warning;
import static com.iqser.red.service.persistence.service.v1.api.shared.model.warning.WarningsComparatorUtils.WARNING_MODEL_COMPARATOR;
import java.util.ArrayList; import java.util.ArrayList;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull; import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@RequiredArgsConstructor @NoArgsConstructor
@Data @Data
@Builder @Builder
public class ApproveResponse { public class ApproveResponse {
@ -23,12 +21,4 @@ public class ApproveResponse {
private ArrayList<WarningModel> fileWarnings = new ArrayList<>(); private ArrayList<WarningModel> fileWarnings = new ArrayList<>();
public void addFileWarning(WarningModel warningModel) {
fileWarnings.add(warningModel);
fileWarnings.sort(WARNING_MODEL_COMPARATOR);
}
} }