From 209edc1a44a54e74fca501ba6dc87bcf3916687a Mon Sep 17 00:00:00 2001 From: akulikov Date: Wed, 18 Jan 2023 15:48:39 +0300 Subject: [PATCH] ClearingCalendarServiceTest add validation test --- .../ru/spcex/clearing/scheduler/error/ValidationError.java | 2 +- .../validation/rules/common/DictionaryPresentRule.java | 5 ++++- .../scheduler/service/ClearingCalendarServiceTest.java | 4 ++-- .../clearing/platform/messaging/service/QueueConsumer.java | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java index a0483da4d..ea04bfa3a 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/error/ValidationError.java @@ -24,6 +24,6 @@ public enum ValidationError implements IEnumId { @Override public Long getId() { - return null; + return id; } } diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java index a9ff56c9c..999f484bb 100644 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java +++ b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/validation/rules/common/DictionaryPresentRule.java @@ -68,7 +68,10 @@ public record DictionaryPresentRule(String fiel ImdgPredicateBuilder imdgPredicateBuilder = dictImdg.predicateBuilder(); ImdgPredicate imdgPredicate = imdgPredicateBuilder.equals("code", enumCode); Collection fromMap = dictImdg.getCollectionObjectsByPredicate(imdgPredicate); - assert fromMap.size() <= 1; + if (fromMap.isEmpty()) { + return of(ValidationError.WrongDictionaryValue, fieldName); + } + assert fromMap.size() == 1; D dictionaryFromMap = fromMap.iterator().next(); if (dictionaryFromMap == null) { return of(ValidationError.WrongDictionaryValue, fieldName); diff --git a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/ClearingCalendarServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/ClearingCalendarServiceTest.java index 333ae3179..258f6e1a3 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/ClearingCalendarServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/ClearingCalendarServiceTest.java @@ -107,9 +107,9 @@ class ClearingCalendarServiceTest { ClearingCalendar clearingCalendar = new ClearingCalendar(); Instant created = Instant.now(); clearingCalendar.setCreated(created); - clearingCalendar.setClearingDate(LocalDate.now()); + clearingCalendar.setClearingDate(LocalDate.now().plusDays(1)); clearingCalendar.setCompanyId(0L); - clearingCalendar.setDayStatus("STATUS"); + clearingCalendar.setDayStatus(DayStatus.Workday.getKey()); ClearingCalendarNewRequest clearingCalendarNewRequest = new ClearingCalendarNewRequest(); clearingCalendarNewRequest.setClearingDate(clearingCalendar.getClearingDate()); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java index 343e8eca6..8fffd91e8 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java @@ -175,7 +175,7 @@ public class QueueConsumer implements AutoCloseable { Optional validationError = validator.tillFirstError(); if (validationError.isPresent()) { String errorMsg = messageResolver.resolve(validationError.get()); - log.error("cannot process {} id={}: {}", req.getClass().getSimpleName(), userRequest.getId(), errorMsg); + log.error("validation error for {} error={}, id={}: {}", req.getClass().getSimpleName(), validationError.get().getSubject(), userRequest.getId(), errorMsg); return new RequestInfoUpdate() .setId(userRequest.getId()) .setStatus(Status.Error)