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) {
|
||||
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) {
|
||||
|
||||
+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.initializer.global.LoanProductGlobalInitializerStep;
|
||||
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.loan.LoanRescheduledDueAdjustScheduleEvent;
|
||||
import org.apache.fineract.test.messaging.event.loan.LoanStatusChangedEvent;
|
||||
@@ -189,6 +190,9 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
@Autowired
|
||||
private LoanInterestPauseApi loanInterestPauseApi;
|
||||
|
||||
@Autowired
|
||||
private EventProperties eventProperties;
|
||||
|
||||
@When("Admin creates a new Loan")
|
||||
public void createLoan() throws IOException {
|
||||
Response<PostClientsResponse> clientResponse = testContext().get(TestContextKey.CLIENT_CREATE_RESPONSE);
|
||||
@@ -2233,8 +2237,11 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
long loanId = loanResponse.body().getLoanId();
|
||||
|
||||
LoanStatusEnumDataV1 expectedStatus = getExpectedStatus(loanStatus);
|
||||
eventAssertion.assertEvent(LoanStatusChangedEvent.class, loanId).extractingData(LoanAccountDataV1::getStatus)
|
||||
.isEqualTo(expectedStatus);
|
||||
await().pollDelay(Duration.ofSeconds(1L)).pollInterval(Duration.ofSeconds(1L))
|
||||
.atMost(Duration.ofSeconds(eventProperties.getEventWaitTimeoutInSec())).untilAsserted(() -> {
|
||||
eventAssertion.assertEvent(LoanStatusChangedEvent.class, loanId).extractingData(LoanAccountDataV1::getStatus)
|
||||
.isEqualTo(expectedStatus);
|
||||
});
|
||||
}
|
||||
|
||||
@Then("Loan marked as charged-off on {string}")
|
||||
|
||||
Reference in New Issue
Block a user