FINERACT-2081: fix tests event check to use latest relevant event
This commit is contained in:
+1
-1
@@ -56,7 +56,7 @@ public class EventStore {
|
|||||||
|
|
||||||
public <R, T extends Event<R>> Optional<EventMessage<R>> findEventById(T type, Long id) {
|
public <R, T extends Event<R>> Optional<EventMessage<R>> findEventById(T type, Long id) {
|
||||||
List<EventMessage<R>> events = findByType(type);
|
List<EventMessage<R>> events = findByType(type);
|
||||||
return events.stream().filter(em -> type.getIdExtractor().apply(em.getData()).equals(id)).findFirst();
|
return events.stream().filter(em -> type.getIdExtractor().apply(em.getData()).equals(id)).reduce((first, second) -> second);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <R, T extends Event<R>> List<EventMessage<R>> findByType(T type) {
|
public <R, T extends Event<R>> List<EventMessage<R>> findByType(T type) {
|
||||||
|
|||||||
+9
-2
@@ -118,6 +118,7 @@ import org.apache.fineract.test.helper.ErrorResponse;
|
|||||||
import org.apache.fineract.test.helper.Utils;
|
import org.apache.fineract.test.helper.Utils;
|
||||||
import org.apache.fineract.test.initializer.global.LoanProductGlobalInitializerStep;
|
import org.apache.fineract.test.initializer.global.LoanProductGlobalInitializerStep;
|
||||||
import org.apache.fineract.test.messaging.EventAssertion;
|
import org.apache.fineract.test.messaging.EventAssertion;
|
||||||
|
import org.apache.fineract.test.messaging.config.EventProperties;
|
||||||
import org.apache.fineract.test.messaging.event.EventCheckHelper;
|
import org.apache.fineract.test.messaging.event.EventCheckHelper;
|
||||||
import org.apache.fineract.test.messaging.event.loan.LoanRescheduledDueAdjustScheduleEvent;
|
import org.apache.fineract.test.messaging.event.loan.LoanRescheduledDueAdjustScheduleEvent;
|
||||||
import org.apache.fineract.test.messaging.event.loan.LoanStatusChangedEvent;
|
import org.apache.fineract.test.messaging.event.loan.LoanStatusChangedEvent;
|
||||||
@@ -189,6 +190,9 @@ public class LoanStepDef extends AbstractStepDef {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private LoanInterestPauseApi loanInterestPauseApi;
|
private LoanInterestPauseApi loanInterestPauseApi;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EventProperties eventProperties;
|
||||||
|
|
||||||
@When("Admin creates a new Loan")
|
@When("Admin creates a new Loan")
|
||||||
public void createLoan() throws IOException {
|
public void createLoan() throws IOException {
|
||||||
Response<PostClientsResponse> clientResponse = testContext().get(TestContextKey.CLIENT_CREATE_RESPONSE);
|
Response<PostClientsResponse> clientResponse = testContext().get(TestContextKey.CLIENT_CREATE_RESPONSE);
|
||||||
@@ -2233,8 +2237,11 @@ public class LoanStepDef extends AbstractStepDef {
|
|||||||
long loanId = loanResponse.body().getLoanId();
|
long loanId = loanResponse.body().getLoanId();
|
||||||
|
|
||||||
LoanStatusEnumDataV1 expectedStatus = getExpectedStatus(loanStatus);
|
LoanStatusEnumDataV1 expectedStatus = getExpectedStatus(loanStatus);
|
||||||
eventAssertion.assertEvent(LoanStatusChangedEvent.class, loanId).extractingData(LoanAccountDataV1::getStatus)
|
await().pollDelay(Duration.ofSeconds(1L)).pollInterval(Duration.ofSeconds(1L))
|
||||||
.isEqualTo(expectedStatus);
|
.atMost(Duration.ofSeconds(eventProperties.getEventWaitTimeoutInSec())).untilAsserted(() -> {
|
||||||
|
eventAssertion.assertEvent(LoanStatusChangedEvent.class, loanId).extractingData(LoanAccountDataV1::getStatus)
|
||||||
|
.isEqualTo(expectedStatus);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Then("Loan marked as charged-off on {string}")
|
@Then("Loan marked as charged-off on {string}")
|
||||||
|
|||||||
Reference in New Issue
Block a user