AFAIK it is entirely up to you and your preferences. You could do one of the two approaches mentioned, but I do not test them at all. Instead, I try to have only very simple code in the Listener and move all the logic into separate services. IMHO, which makes the code more understandable and clean to unit test without mocking it.
source share