company-service: CompanyRoleSetService поправил юниттесты

This commit is contained in:
AKurakin 2023-04-06 12:44:56 +03:00
parent e2452d33a7
commit 8288b4c988
5 changed files with 72 additions and 31 deletions

View file

@ -120,6 +120,14 @@ public class CompanyValidationConfig {
context.setValidatedObject(companyDeleteRequest);
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_CompanySymbolDictionary);
addImdg.accept(IMDGDistributedNames.Map_CorporationSoleTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_CountryCodeDictionary);
addImdg.accept(IMDGDistributedNames.Map_AllowedDictionary);
addImdg.accept(IMDGDistributedNames.Map_LegalKindDictionary);
addImdg.accept(IMDGDistributedNames.Map_LegalKindDictionary);
addImdg.accept(IMDGDistributedNames.Map_OrganizationTypeDictionary);
return new ValidatorImpl<>(context,
// FieldRequiredRule.instance("id", CommonDeleteRequest::getId, CompanyErrors.RequiredFieldEmpty),
IdPresentRule.instance("id",

View file

@ -34,14 +34,13 @@ public class ValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_ContactTypeDictionary, ContactTypeDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_Contact, Contact.class);
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary, DocumentTypeDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_CompanySymbolDictionary, DocumentTypeDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary, WorkflowStatusDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_CompanySymbolDictionary, CompanySymbolDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_CorporationSoleTypeDictionary, CorporationSoleTypeDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_AllowedDictionary, AllowedDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_LegalKindDictionary, LegalKindDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_OrganizationTypeDictionary, OrganizationTypeDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
return imdg;

View file

@ -14,13 +14,18 @@ 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.CompanyInfo;
import ru.clearing.platform.dictionary.*;
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.CompanyValidationConfig;
import ru.spcex.clearing.company.config.validation.ValidationConfig;
import ru.spcex.clearing.company.utils.MatcherFactory;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyInfoUpdateRequest;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
@ -32,6 +37,15 @@ import static ru.spcex.clearing.company.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
CompanyInfoService.class,
CompanyService.class,
CompanyValidationConfig.class,
ValidationConfig.class,
CompanySymbolService.class,
AccountNotificationHelper.class,
RelationHelper.class,
BeanConfiguration.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class CompanyInfoServiceTest {
@ -57,16 +71,23 @@ class CompanyInfoServiceTest {
hazelcastServiceTest.waitAvailable();
companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
/* todo залить тестовые словари:
IMDGDistributedNames.Map_WorkflowStatusDictionary, DocumentTypeDictionary.class);
IMDGDistributedNames.Map_CompanySymbolDictionary, DocumentTypeDictionary.class);
IMDGDistributedNames.Map_CorporationSoleTypeDictionary, CorporationSoleTypeDictionary.class);
IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
IMDGDistributedNames.Map_AllowedDictionary, AllowedDictionary.class);
IMDGDistributedNames.Map_LegalKindDictionary, LegalKindDictionary.class);
IMDGDistributedNames.Map_OrganizationTypeDictionary, OrganizationTypeDictionary.class);
IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
*/
// Словари для теста, применяются в ValidationConfig
putToDictionary(IMDGDistributedNames.Map_WorkflowStatusDictionary, new WorkflowStatusDictionary(), "ACTV");
putToDictionary(IMDGDistributedNames.Map_CompanySymbolDictionary, new CompanySymbolDictionary(), "CLRC");
putToDictionary(IMDGDistributedNames.Map_CorporationSoleTypeDictionary, new CorporationSoleTypeDictionary(), "GDIR");
putToDictionary(IMDGDistributedNames.Map_CountryCodeDictionary, new CountryCodeDictionary(), "RUS");
putToDictionary(IMDGDistributedNames.Map_AllowedDictionary, new AllowedDictionary(), "ALWD");
putToDictionary(IMDGDistributedNames.Map_LegalKindDictionary, new LegalKindDictionary(), "JURD");
putToDictionary(IMDGDistributedNames.Map_OrganizationTypeDictionary, new OrganizationTypeDictionary(), "NCRD");
}
private <D extends AbstractDictionary /*SpcexObjectBase & Dictionary*/> void putToDictionary(String mapName, D object, String code) {
Imdg<D> dMap = (Imdg) hazelcastServiceTest.getImdg(mapName, object.getClass());
object.setId(2L);
object.setCode(code);
object.setName("name of " + code);
dMap.insert(object);
}
/**
@ -74,13 +95,13 @@ IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
* Тест проверяет обновление сущности {@link CompanyInfo} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link CompanyInfoUpdateRequest}:<br>
* {@link CompanyInfoUpdateRequest#id} - Идентификатор записи<br>
* {@link CompanyInfoUpdateRequest#corporationSoleType} - 1234<br>
* {@link CompanyInfoUpdateRequest#countryCode} - 1234<br>
* {@link CompanyInfoUpdateRequest#corporationSoleType} - GDIR<br>
* {@link CompanyInfoUpdateRequest#countryCode} - RUS<br>
* {@link CompanyInfoUpdateRequest#description} - updated description<br>
* {@link CompanyInfoUpdateRequest#professionalSign} - 1234<br>
* {@link CompanyInfoUpdateRequest#legalKind} - 1234<br>
* {@link CompanyInfoUpdateRequest#organizationType} - 1234<br>
* {@link CompanyInfoUpdateRequest#residence} - 1234<br>
* {@link CompanyInfoUpdateRequest#professionalSign} - ALWD<br>
* {@link CompanyInfoUpdateRequest#legalKind} - JURD<br>
* {@link CompanyInfoUpdateRequest#organizationType} - NCRD<br>
* {@link CompanyInfoUpdateRequest#residence} - RUS<br>
* {@link CompanyInfoUpdateRequest#shortNameEng} - updated shortNameEng<br>
* {@link CompanyInfoUpdateRequest#fullNameEng} - updated fullNameEng<br>
* {@link CompanyInfoUpdateRequest#shortName} - updated shortName<br>
@ -105,18 +126,19 @@ IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
existsCompanyInfo.setFullName("exists fullName");
Company existsCompany = new Company();
existsCompany.setId(ID);
existsCompany.setWorkflowStatus(WorkflowStatus.Active.getKey());
existsCompany.setProfile(existsCompanyInfo);
companyImdg.insert(existsCompany);
CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest();
companyInfoUpdateRequest.setId(ID);
companyInfoUpdateRequest.setCorporationSoleType("1234");
companyInfoUpdateRequest.setCountryCode("1234");
companyInfoUpdateRequest.setCorporationSoleType("GDIR");
companyInfoUpdateRequest.setCountryCode("RUS");
companyInfoUpdateRequest.setDescription("updated description");
companyInfoUpdateRequest.setProfessionalSign("1234");
companyInfoUpdateRequest.setLegalKind("1234");
companyInfoUpdateRequest.setOrganizationType("1234");
companyInfoUpdateRequest.setResidence("1234");
companyInfoUpdateRequest.setProfessionalSign("ALWD");
companyInfoUpdateRequest.setLegalKind("JURD");
companyInfoUpdateRequest.setOrganizationType("NCRD");
companyInfoUpdateRequest.setResidence("RUS");
companyInfoUpdateRequest.setShortNameEng("updated shortNameEng");
companyInfoUpdateRequest.setFullNameEng("updated fullNameEng");
companyInfoUpdateRequest.setShortName("updated shortName");
@ -125,13 +147,13 @@ IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
CompanyInfo predictableCompanyInfo = new CompanyInfo();
predictableCompanyInfo.setId(ID);
predictableCompanyInfo.setCompanyId(ID);
predictableCompanyInfo.setCorporationSoleType("1234");
predictableCompanyInfo.setCountryCode("1234");
predictableCompanyInfo.setCorporationSoleType("GDIR");
predictableCompanyInfo.setCountryCode("RUS");
predictableCompanyInfo.setDescription("updated description");
predictableCompanyInfo.setProfessionalSign("1234");
predictableCompanyInfo.setLegalKind("1234");
predictableCompanyInfo.setOrganizationType("1234");
predictableCompanyInfo.setResidence("1234");
predictableCompanyInfo.setProfessionalSign("ALWD");
predictableCompanyInfo.setLegalKind("JURD");
predictableCompanyInfo.setOrganizationType("NCRD");
predictableCompanyInfo.setResidence("RUS");
predictableCompanyInfo.setShortNameEng("updated shortNameEng");
predictableCompanyInfo.setFullNameEng("updated fullNameEng");
predictableCompanyInfo.setShortName("updated shortName");

View file

@ -45,6 +45,9 @@ import static ru.spcex.clearing.company.utils.TestUtils.*;
CompanyService.class,
CompanyValidationConfig.class,
ValidationConfig.class,
CompanySymbolService.class,
AccountNotificationHelper.class,
RelationHelper.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class,

View file

@ -6,6 +6,7 @@ import com.hazelcast.core.IdGenerator;
import com.hazelcast.core.TransactionalMap;
import com.hazelcast.query.Predicate;
import com.hazelcast.query.Predicates;
import com.hazelcast.query.SqlPredicate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.spcex.platform.classes.base.SpcexObjectBase;
@ -90,6 +91,14 @@ public class ImdgTransactionalHazelcast<T extends SpcexObjectBase> implements Im
}
}
@Override
public Collection<T> getCollectionObjectsBySQL(String paramString) {
SqlPredicate sqlPredicate = new SqlPredicate(paramString);
Collection<T> found = map.values(sqlPredicate);
List<T> result = new ArrayList<>(found); // Hazelcast может вернуть proxy-коллекцию
return result;
}
/**
* возвращает коллекцию объектов, удовлетворяющий условиям на поля
*/