From 99c3a8e6559a8fbc7bd4f7cb48859d0e5d5216eb Mon Sep 17 00:00:00 2001 From: akulikov Date: Thu, 19 Jan 2023 11:28:47 +0300 Subject: [PATCH] PlannerTemplateServiceTest fix --- .../service/PlannerTemplateServiceTest.java | 74 ++++++++++++++++--- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/PlannerTemplateServiceTest.java b/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/PlannerTemplateServiceTest.java index 98696e3df..3d6dedc07 100644 --- a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/PlannerTemplateServiceTest.java +++ b/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/service/PlannerTemplateServiceTest.java @@ -17,26 +17,43 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; +import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.classes.statics.data.scheduler.PlannerTemplate; +import ru.clearing.classes.statics.data.security.Security; +import ru.clearing.platform.dictionary.TaskDictionary; +import ru.clearing.platform.dictionary.TaskStatusDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateUpdateRequest; +import ru.spcex.clearing.scheduler.config.validation.PlannerTemplateValidationConfig; +import ru.spcex.clearing.scheduler.config.validation.ValidationConfig; import ru.spcex.clearing.scheduler.service.PlannerTemplateService; +import ru.spcex.platform.enumeration.Status; +import ru.spcex.platform.enumeration.Task; +import ru.spcex.platform.enumeration.WorkflowStatus; +import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; import ru.spcex.platform.utils.enumeration.IMessageResolver; +import ru.spcex.platform.utils.validation.IValidator; import ru.specx.clearing.scheduler.config.HazelcastServiceTestConfiguration; import java.time.Instant; import java.time.LocalTime; import java.util.Collections; import java.util.HashMap; +import java.util.function.Function; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { - HazelcastServiceTestConfiguration.class}) + HazelcastServiceTestConfiguration.class, + ValidationConfig.class, + PlannerTemplateValidationConfig.class +}) class PlannerTemplateServiceTest { private static final int PARTITION = 0; @@ -48,8 +65,19 @@ class PlannerTemplateServiceTest { private HazelcastService hazelcastServiceTest; private MockConsumer mockConsumer; private MockProducer mockProducer; + + @Autowired private IMessageResolver messageResolver; + @Autowired + private Function plannerTemplateDeleteRequestValidation; + + @Autowired + private Function plannerTemplateNewRequestValidation; + + @Autowired + private Function plannerTemplateUpdateRequestValidation; + @BeforeEach void setUp() { mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST); @@ -63,14 +91,42 @@ class PlannerTemplateServiceTest { */ @Test public void newPlannerTemplateInQueue() throws InterruptedException { + Task testTask = Task.accountBlock; + TaskDictionary taskDictionary = new TaskDictionary(); + taskDictionary.setId(0L); + taskDictionary.setCode(testTask.getKey()); + Imdg taskDictionaryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_TaskDictionary, TaskDictionary.class); + taskDictionaryImdg.insert(taskDictionary); + + Status testTaskStatus = Status.Active; + TaskStatusDictionary taskStatusDictionary = new TaskStatusDictionary(); + taskStatusDictionary.setId(0L); + taskStatusDictionary.setCode(testTaskStatus.getKey()); + Imdg taskStatusDictionaryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_TaskStatusDictionary, TaskStatusDictionary.class); + taskStatusDictionaryImdg.insert(taskStatusDictionary); + + long testCompanyId = 0L; + Company company = new Company(); + company.setId(testCompanyId); + company.setWorkflowStatus(WorkflowStatus.Active.getKey()); + Imdg companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class); + companyImdg.insert(company); + + long testSecurityId = 0L; + Security security = new Security(); + security.setId(testSecurityId); + security.setWorkflowStatus(WorkflowStatus.Active.getKey()); + Imdg securityImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Security, Security.class); + securityImdg.insert(security); + //ARRANGE Instant created = Instant.now(); PlannerTemplate plannerTemplate = new PlannerTemplate(); - plannerTemplate.setTask("TASK"); - plannerTemplate.setTaskTime(LocalTime.MIDNIGHT); - plannerTemplate.setTaskStatus("TASK_STATUS"); - plannerTemplate.setCompanyId(0L); - plannerTemplate.setSecurityId(10L); + plannerTemplate.setTask(testTask.getKey()); + plannerTemplate.setTaskTime(LocalTime.now().plusHours(1)); + plannerTemplate.setTaskStatus(testTaskStatus.getKey()); + plannerTemplate.setCompanyId(testCompanyId); + plannerTemplate.setSecurityId(testSecurityId); PlannerTemplateNewRequest plannerTemplateNewRequest = new PlannerTemplateNewRequest(); plannerTemplateNewRequest.setTask(plannerTemplate.getTask()); @@ -97,9 +153,9 @@ class PlannerTemplateServiceTest { mockProducer, hazelcastServiceTest, messageResolver, - null, - null, - null); + plannerTemplateDeleteRequestValidation, + plannerTemplateNewRequestValidation, + plannerTemplateUpdateRequestValidation); //callbacks set up plannerTemplateService.afterPropertiesSet();