Я перехожу с императивного на реактивный режим, и мне трудно тестировать мой пробный обратный вызов реактивным способом.Можно ли, например, в классе обслуживания проверить, были ли вызваны макеты?
TransactionId transactionId = authorizerApplicationService.newPaymentAuthorization(
new PaymentTransactionCommand(
OPERATION_ID,
TAX_ID));
final ArgumentCaptor<Transaction> argumentsTransaction = ArgumentCaptor.forClass(Transaction.class);
verify(repository, times(2)).save(argumentsTransaction.capture());
final Transaction transaction = argumentsTransaction.getValue();
verify(iamServicePort).authenticate(...));
verify(antiFraudServicePort).checkCustomerSituation(...);
verify(paymentGatewayServicePort, times(0)).authorize(...);
assertEquals(transactionId, transaction.transactionId());
assertEquals(Money.of(100, "BRL"), transaction.amount());
В реактивной форме:
StepVerifier.create(authorizerApplicationService.newPaymentAuthorization(
new PaymentTransactionCommand(
OPERATION_ID,
TAX_ID)))
.expectNext(OPERATION_ID)
//I need to check here if the mocks were invoked
.verifyComplete();
, учитывая, что все мои внешние сервисы возвращают Mono ofVoid, как я могу сделать проверку звонка?