ClearingMemberCategoryServiceTest fix
This commit is contained in:
parent
ae1d52794a
commit
2032c156a8
6 changed files with 63 additions and 26 deletions
|
|
@ -93,7 +93,6 @@ public record DictionaryPresentRule<R, D extends AbstractDictionary>(String fiel
|
|||
if (fromMap.isEmpty()) {
|
||||
return of(errorWrongDictionaryValue, fieldName);
|
||||
}
|
||||
assert fromMap.size() == 1;
|
||||
D dictionaryFromMap = fromMap.iterator().next();
|
||||
if (dictionaryFromMap == null) {
|
||||
return of(errorWrongDictionaryValue, fieldName);
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@ import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory;
|
|||
public class KafkaConfig {
|
||||
@Autowired
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
@Bean
|
||||
@Bean("kafkaConsumer")
|
||||
public Consumer<String, Object> createConsumer(CompanyServiceSettings settings) {
|
||||
return KafkaConsumerFactory.consumer(settings.getKafkaConsumer());
|
||||
}
|
||||
|
||||
@Autowired
|
||||
@Bean
|
||||
@Bean("kafkaProducer")
|
||||
public Producer<String, Object> createProducer(CompanyServiceSettings settings) {
|
||||
return KafkaProducerFactory.producer(settings.getKafkaProducer());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCat
|
|||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest;
|
||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.EnumPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
|
|
@ -38,6 +37,7 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
context.setValidatedObject(clearingMemberCategoryNewRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("companyId",
|
||||
ClearingMemberCategoryNewRequest::getCompanyId,
|
||||
|
|
@ -46,9 +46,12 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.CompanyNotFound,
|
||||
company -> WorkflowStatus.Active.getKey().equals(company.getWorkflowStatus()) ? null : CompanyErrors.CompanyDisabled),
|
||||
FieldRequiredRule.instance("clearingMemberCategory",
|
||||
DictionaryPresentRule.instance("clearingMemberCategory",
|
||||
ClearingMemberCategoryNewRequest::getClearingMemberCategory,
|
||||
CompanyErrors.RequiredFieldEmpty));
|
||||
IMDGDistributedNames.Map_ClearingCategoryDictionary,
|
||||
ClearingCategoryDictionary.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.CategoryNotFound));
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -61,6 +64,7 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
context.setValidatedObject(clearingMemberCategoryUpdateRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
||||
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
|
@ -25,6 +26,7 @@ public class ValidationConfig {
|
|||
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company, Company.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary, ClearingCategoryDictionary.class);
|
||||
|
||||
return imdg;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
|
|
@ -17,18 +16,13 @@ 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.company.CompanyNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgId;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.error.ClearingBaseException;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
|
|
|
|||
|
|
@ -13,9 +13,14 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
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.generated.ClearingMemberCategory;
|
||||
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
|
||||
import ru.spcex.clearing.company.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration;
|
||||
import ru.spcex.clearing.company.config.KafkaConfigTest;
|
||||
import ru.spcex.clearing.company.config.validation.ClearingMemberCategoryValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.ValidationConfig;
|
||||
import ru.spcex.clearing.company.utils.MatcherFactory.Matcher;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
|
|
@ -23,6 +28,8 @@ 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.company.ClearingMemberCategoryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||
|
||||
|
|
@ -34,7 +41,10 @@ import static ru.spcex.clearing.company.utils.TestUtils.*;
|
|||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = {
|
||||
BeanConfiguration.class,
|
||||
ValidationConfig.class,
|
||||
ClearingMemberCategoryService.class,
|
||||
ClearingMemberCategoryValidationConfig.class,
|
||||
KafkaConfigTest.class,
|
||||
HazelcastServiceTestConfiguration.class})
|
||||
class ClearingMemberCategoryServiceTest {
|
||||
|
|
@ -44,7 +54,7 @@ class ClearingMemberCategoryServiceTest {
|
|||
private static final String TOPIC_MEMBER_CATEGORY_NEW = Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_NEW;
|
||||
private static final String TOPIC_MEMBER_CATEGORY_UPDATE = Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE;
|
||||
private static final String TOPIC_MEMBER_CATEGORY_DELETE = Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE;
|
||||
private static final Long ID = currentID.getAndIncrement();
|
||||
private static final Long ID = currentID.incrementAndGet();
|
||||
@Autowired
|
||||
ClearingMemberCategoryService clearingMemberCategoryService;
|
||||
@Autowired
|
||||
|
|
@ -57,22 +67,48 @@ class ClearingMemberCategoryServiceTest {
|
|||
@SpyBean
|
||||
private MockProducer<String, Object> mockProducer;
|
||||
|
||||
private final long COMPANY_ID = 777L;
|
||||
private Company TEST_COMPANY;
|
||||
|
||||
private final String CLEARING_CATEGORY_DICT_CODE = ClearingCategory.B.getKey();
|
||||
private ClearingCategoryDictionary clearingCategoryDictionary;
|
||||
|
||||
@PostConstruct
|
||||
private void init() {
|
||||
hazelcastServiceTest.waitAvailable();
|
||||
memberCategoryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
memberCategoryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_ClearingMemberCategory,
|
||||
ClearingMemberCategory.class
|
||||
);
|
||||
Imdg<ClearingCategoryDictionary> clearingCategoryDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_ClearingCategoryDictionary,
|
||||
ClearingCategoryDictionary.class
|
||||
);
|
||||
|
||||
Imdg<Company> companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
TEST_COMPANY = new Company();
|
||||
TEST_COMPANY.setId(COMPANY_ID);
|
||||
TEST_COMPANY.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||
companyImdg.insert(TEST_COMPANY);
|
||||
|
||||
clearingCategoryDictionary = new ClearingCategoryDictionary();
|
||||
clearingCategoryDictionary.setCode(CLEARING_CATEGORY_DICT_CODE);
|
||||
clearingCategoryDictionaryImdg.insert(clearingCategoryDictionary);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void clearingMemberCategoryNew() throws InterruptedException {
|
||||
//ARRANGE
|
||||
String clearingMemberCategory = "1234";
|
||||
String clearingMemberCategory = CLEARING_CATEGORY_DICT_CODE;
|
||||
ClearingMemberCategoryNewRequest memberCategoryNewRequest = new ClearingMemberCategoryNewRequest();
|
||||
memberCategoryNewRequest.setClearingMemberCategory(clearingMemberCategory);
|
||||
memberCategoryNewRequest.setCompanyId(TEST_COMPANY.getId());
|
||||
|
||||
ClearingMemberCategory predictableClearingMemberCategory = new ClearingMemberCategory();
|
||||
predictableClearingMemberCategory.setId(ID);
|
||||
predictableClearingMemberCategory.setClearingMemberCategory("1234");
|
||||
predictableClearingMemberCategory.setCompanyId(COMPANY_ID);
|
||||
predictableClearingMemberCategory.setClearingMemberCategory(clearingMemberCategory);
|
||||
|
||||
//ACT
|
||||
String jsonString = getJsonStringForNew(memberCategoryNewRequest, ID);
|
||||
|
|
@ -95,17 +131,19 @@ class ClearingMemberCategoryServiceTest {
|
|||
@Test
|
||||
void clearingMemberCategoryUpdate() throws InterruptedException {
|
||||
//ARRANGE
|
||||
String clearingMemberCategory = "1234";
|
||||
ClearingMemberCategory existsСlearingMemberCategory = new ClearingMemberCategory();
|
||||
existsСlearingMemberCategory.setId(ID);
|
||||
existsСlearingMemberCategory.setClearingMemberCategory("0000");
|
||||
memberCategoryImdg.insert(existsСlearingMemberCategory);
|
||||
String clearingMemberCategory = CLEARING_CATEGORY_DICT_CODE;
|
||||
ClearingMemberCategory existsClearingMemberCategory = new ClearingMemberCategory();
|
||||
existsClearingMemberCategory.setId(ID);
|
||||
existsClearingMemberCategory.setClearingMemberCategory("0000");
|
||||
existsClearingMemberCategory.setCompanyId(COMPANY_ID);
|
||||
memberCategoryImdg.insert(existsClearingMemberCategory);
|
||||
|
||||
ClearingMemberCategoryUpdateRequest memberCategoryUpdateRequest = new ClearingMemberCategoryUpdateRequest();
|
||||
memberCategoryUpdateRequest.setId(ID);
|
||||
memberCategoryUpdateRequest.setClearingMemberCategory(clearingMemberCategory);
|
||||
|
||||
ClearingMemberCategory predictableClearingMemberCategory = new ClearingMemberCategory();
|
||||
predictableClearingMemberCategory.setCompanyId(COMPANY_ID);
|
||||
predictableClearingMemberCategory.setId(ID);
|
||||
predictableClearingMemberCategory.setClearingMemberCategory(clearingMemberCategory);
|
||||
|
||||
|
|
@ -130,10 +168,10 @@ class ClearingMemberCategoryServiceTest {
|
|||
void clearingMemberCategoryDelete() throws InterruptedException {
|
||||
//ARRANGE
|
||||
String clearingMemberCategory = "0000";
|
||||
ClearingMemberCategory existsСlearingMemberCategory = new ClearingMemberCategory();
|
||||
existsСlearingMemberCategory.setId(ID);
|
||||
existsСlearingMemberCategory.setClearingMemberCategory(clearingMemberCategory);
|
||||
memberCategoryImdg.insert(existsСlearingMemberCategory);
|
||||
ClearingMemberCategory existsClearingMemberCategory = new ClearingMemberCategory();
|
||||
existsClearingMemberCategory.setId(ID);
|
||||
existsClearingMemberCategory.setClearingMemberCategory(clearingMemberCategory);
|
||||
memberCategoryImdg.insert(existsClearingMemberCategory);
|
||||
|
||||
CommonDeleteRequest memberCategoryDeleteRequest = new CommonDeleteRequest();
|
||||
memberCategoryDeleteRequest.setId(ID);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue