I want my test to cover the code written inside afterCompletion(). I've tried mocking the public method which calls addTransactionLifeCycleMethods(), but it doesn't go inside
TransactionSynchronizationManager. Here's the code snippet
private void addTransactionLifeCycleMethods(Map<Integer, ForecastRunDTO> newRunDTOs, Boolean isSystemTriggeredActualComputation) {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
@Override
public void afterCompletion(int status) {
// Cover this using mockito
}
}
});
}
Note: TransactionSynchronizationManager and TransactionSynchronizationAdapter are both abstract classes in org.springframework.transaction.support;