Merge branch 'dev' of http://git.mfd.msk/mfd/clearing into dev
This commit is contained in:
commit
b67d4fb7a1
3 changed files with 26 additions and 20 deletions
|
|
@ -25,7 +25,6 @@ import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
|
|
@ -49,8 +48,6 @@ public abstract class AbstractServiceTest {
|
||||||
protected static final MatcherFactory.Matcher<AccountBalance> ACCOUNT_BALANCE_MATCHER = usingIgnoringFieldsComparator("created", "updated", "clearingDate", "id");
|
protected static final MatcherFactory.Matcher<AccountBalance> ACCOUNT_BALANCE_MATCHER = usingIgnoringFieldsComparator("created", "updated", "clearingDate", "id");
|
||||||
protected static final MatcherFactory.Matcher<Result> RESULT_MATCHER = usingIgnoringFieldsComparator("account.created", "account.updated", "account.clearingDate", "generationId");
|
protected static final MatcherFactory.Matcher<Result> RESULT_MATCHER = usingIgnoringFieldsComparator("account.created", "account.updated", "account.clearingDate", "generationId");
|
||||||
protected static final MatcherFactory.Matcher<Statement> STATEMENT_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "updated", "id");
|
protected static final MatcherFactory.Matcher<Statement> STATEMENT_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "updated", "id");
|
||||||
|
|
||||||
protected final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy hh:mm");
|
|
||||||
protected final Long accountIdNew = 10L;
|
protected final Long accountIdNew = 10L;
|
||||||
protected final Long addresseeIdNew = 2L;
|
protected final Long addresseeIdNew = 2L;
|
||||||
protected final String deal = "111111111";
|
protected final String deal = "111111111";
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import ru.spcex.platform.enumeration.BalanceAccountType;
|
||||||
import ru.spcex.platform.enumeration.Status;
|
import ru.spcex.platform.enumeration.Status;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
|
|
@ -29,6 +30,11 @@ class AccountBalanceServiceTest extends AbstractServiceTest {
|
||||||
@Autowired
|
@Autowired
|
||||||
AccountBalanceService accountBalanceService;
|
AccountBalanceService accountBalanceService;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
void init() {
|
||||||
|
super.init();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link AccountBalanceService#createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount, String cashMovementCurrencyCode)}<br>
|
* {@link AccountBalanceService#createAccountBalance(Long addresseeId, Long accountId, BigDecimal amount, String cashMovementCurrencyCode)}<br>
|
||||||
* Тест проверяет генерацию сущности {@link AccountResult}<br>
|
* Тест проверяет генерацию сущности {@link AccountResult}<br>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import ru.spcex.platform.utils.number.BigDecimalUtil;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -26,18 +27,17 @@ import java.util.Map;
|
||||||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
|
|
||||||
class Sdf01ExecutorTest extends AbstractServiceTest {
|
class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||||
|
final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||||
private static final MatcherFactory.Matcher<SDf02> SDF_02_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
private static final MatcherFactory.Matcher<SDf02> SDF_02_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||||
private final String acc = "123456789";
|
private final String acc = "123456789";
|
||||||
private final Long ID = 1L;
|
private final Long ID = 1L;
|
||||||
@Autowired
|
@Autowired
|
||||||
Sdf01Executor sdf01Executor;
|
Sdf01Executor sdf01Executor;
|
||||||
private SDf01 sdf01;
|
|
||||||
private StatementRequest statementRequest;
|
private StatementRequest statementRequest;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
void init() {
|
void init() {
|
||||||
super.init();
|
super.init();
|
||||||
sdf01 = getTestSdf01();
|
|
||||||
statementRequest = new StatementRequest();
|
statementRequest = new StatementRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -59,6 +59,7 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||||
@Test
|
@Test
|
||||||
void execute() {
|
void execute() {
|
||||||
//check create statement, SDf02 and AccountBalance
|
//check create statement, SDf02 and AccountBalance
|
||||||
|
SDf01 sdf01 = getTestSdf01();
|
||||||
Company company = getTestCompany();
|
Company company = getTestCompany();
|
||||||
companyMap.put(addresseeIdNew, company);
|
companyMap.put(addresseeIdNew, company);
|
||||||
|
|
||||||
|
|
@ -102,11 +103,12 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||||
@Test
|
@Test
|
||||||
void validatedExecute() {
|
void validatedExecute() {
|
||||||
//CompanyNotFound
|
//CompanyNotFound
|
||||||
|
SDf01 sdf01 = getTestSdf01();
|
||||||
companyMap.delete(addresseeIdNew);
|
companyMap.delete(addresseeIdNew);
|
||||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
checkError(new EnumMessage(BalanceError.CompanyNotFound), sdf01);
|
||||||
|
|
||||||
sdf01.setDeal(null);
|
sdf01.setDeal(null);
|
||||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
checkError(new EnumMessage(BalanceError.CompanyNotFound), sdf01);
|
||||||
|
|
||||||
//AccountNotPresent accountType=null
|
//AccountNotPresent accountType=null
|
||||||
sdf01.setDeal(deal);
|
sdf01.setDeal(deal);
|
||||||
|
|
@ -116,56 +118,56 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||||
account.setAccount(acc);
|
account.setAccount(acc);
|
||||||
account.setAccountStatus(Status.Active.getKey());
|
account.setAccountStatus(Status.Active.getKey());
|
||||||
accountMap.put(accountIdNew, account);
|
accountMap.put(accountIdNew, account);
|
||||||
checkErrorAccountNotPresent(company);
|
checkErrorAccountNotPresent(company, sdf01);
|
||||||
|
|
||||||
//AccountNotPresent account=null
|
//AccountNotPresent account=null
|
||||||
account.setAccount(null);
|
account.setAccount(null);
|
||||||
account.setAccountType(AccountType.Clrn.getKey());
|
account.setAccountType(AccountType.Clrn.getKey());
|
||||||
account.setAccountStatus(Status.Active.getKey());
|
account.setAccountStatus(Status.Active.getKey());
|
||||||
accountMap.put(accountIdNew, account);
|
accountMap.put(accountIdNew, account);
|
||||||
checkErrorAccountNotPresent(company);
|
checkErrorAccountNotPresent(company, sdf01);
|
||||||
|
|
||||||
//AccountNotPresent sdf01.account==null
|
//AccountNotPresent sdf01.account==null
|
||||||
sdf01.setAccount(null);
|
sdf01.setAccount(null);
|
||||||
checkErrorAccountNotPresent(company);
|
checkErrorAccountNotPresent(company, sdf01);
|
||||||
|
|
||||||
//CurrencyNotFound sdf01.curr_code =! "RUR"
|
//CurrencyNotFound sdf01.curr_code =! "RUR"
|
||||||
accountMap.put(accountIdNew, getTestAccount(ID, acc));
|
accountMap.put(accountIdNew, getTestAccount(ID, acc));
|
||||||
sdf01.setAccount(acc);
|
sdf01.setAccount(acc);
|
||||||
sdf01.setCurr_code("RUB");
|
sdf01.setCurr_code("RUB");
|
||||||
checkError(new EnumMessage(BalanceError.CurrencyNotFound));
|
checkError(new EnumMessage(BalanceError.CurrencyNotFound), sdf01);
|
||||||
|
|
||||||
//CurrencyNotFound sdf01.curr_code =! "RUR"
|
//CurrencyNotFound sdf01.curr_code =! "RUR"
|
||||||
sdf01.setCurr_code(null);
|
sdf01.setCurr_code(null);
|
||||||
checkError(new EnumMessage(BalanceError.CurrencyNotFound));
|
checkError(new EnumMessage(BalanceError.CurrencyNotFound), sdf01);
|
||||||
|
|
||||||
//CurrentDateOnly
|
//CurrentDateOnly
|
||||||
sdf01.setCurr_code("RUR");
|
sdf01.setCurr_code("RUR");
|
||||||
sdf01.setDat("19.01.23");
|
sdf01.setDat("19.01.23");
|
||||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly));
|
checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01);
|
||||||
|
|
||||||
//CurrentDateOnly
|
//CurrentDateOnly
|
||||||
sdf01.setDat("19.01.2023");
|
sdf01.setDat("19.01.2023");
|
||||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly));
|
checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01);
|
||||||
|
|
||||||
//CurrentDateOnly
|
//CurrentDateOnly
|
||||||
sdf01.setDat(null);
|
sdf01.setDat(null);
|
||||||
checkError(new EnumMessage(BalanceError.CurrentDateOnly));
|
checkError(new EnumMessage(BalanceError.CurrentDateOnly), sdf01);
|
||||||
|
|
||||||
//WrongAccount
|
//WrongAccount
|
||||||
sdf01.setDat(LocalDate.now().format(datFormatter));
|
sdf01.setDat(LocalDate.now().format(datFormatter));
|
||||||
sdf01.setAcc_type(null);
|
sdf01.setAcc_type(null);
|
||||||
checkError(new EnumMessage(BalanceError.WrongAccount));
|
checkError(new EnumMessage(BalanceError.WrongAccount), sdf01);
|
||||||
|
|
||||||
//WrongMarket
|
//WrongMarket
|
||||||
sdf01.setAcc_type("A");
|
sdf01.setAcc_type("A");
|
||||||
sdf01.setMarket(null);
|
sdf01.setMarket(null);
|
||||||
checkError(new EnumMessage(BalanceError.WrongMarket));
|
checkError(new EnumMessage(BalanceError.WrongMarket), sdf01);
|
||||||
|
|
||||||
sdf01.setMarket("U");
|
sdf01.setMarket("U");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkError(EnumMessage enumMessage) {
|
private void checkError(EnumMessage enumMessage, SDf01 sdf01) {
|
||||||
// SDf01 sdf01 = getTestSdf01();
|
// SDf01 sdf01 = getTestSdf01();
|
||||||
SDf02 predictableSdf02 = getTestErrorSdf02(sdf01, enumMessage, ID);
|
SDf02 predictableSdf02 = getTestErrorSdf02(sdf01, enumMessage, ID);
|
||||||
Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest);
|
Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest);
|
||||||
|
|
@ -174,7 +176,7 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||||
SDF_02_MATCHER.assertMatch(resultSdf02, predictableSdf02);
|
SDF_02_MATCHER.assertMatch(resultSdf02, predictableSdf02);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkErrorAccountNotPresent(Company company) {
|
private void checkErrorAccountNotPresent(Company company, SDf01 sdf01) {
|
||||||
Result predictableResult = new Result();
|
Result predictableResult = new Result();
|
||||||
predictableResult.getAccountRequests().add(createAccountRequestPart(sdf01.getId(), sdf01.getAccount(), company.getId()));
|
predictableResult.getAccountRequests().add(createAccountRequestPart(sdf01.getId(), sdf01.getAccount(), company.getId()));
|
||||||
Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest);
|
Result result = sdf01Executor.execute(Collections.singletonList(sdf01), statementRequest);
|
||||||
|
|
@ -205,13 +207,14 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private SDf01 getTestSdf01() {
|
private SDf01 getTestSdf01() {
|
||||||
|
LocalDate date = LocalDate.now();
|
||||||
SDf01 sdf01 = new SDf01();
|
SDf01 sdf01 = new SDf01();
|
||||||
sdf01.setId(ID);
|
sdf01.setId(ID);
|
||||||
sdf01.setMarket("U");
|
sdf01.setMarket("U");
|
||||||
sdf01.setDeal(deal);
|
sdf01.setDeal(deal);
|
||||||
sdf01.setAccount(acc);
|
sdf01.setAccount(acc);
|
||||||
sdf01.setCurr_code("RUR");
|
sdf01.setCurr_code("RUR");
|
||||||
sdf01.setDat(LocalDate.now().format(datFormatter));
|
sdf01.setDat(date.format(datFormatter));
|
||||||
sdf01.setAcc_type("A");
|
sdf01.setAcc_type("A");
|
||||||
sdf01.setRemainder(amountNew.toString());
|
sdf01.setRemainder(amountNew.toString());
|
||||||
return sdf01;
|
return sdf01;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue