@Async
    @EventListener(CommentCreatedEvent.class)
    public void onNewComment(CommentCreatedEvent event) {
        Comment comment = event.getComment();
        if (isPostComment(comment)) {
            newCommentOnPostReasonPublisher.publishReasonBy(comment);
        } else if (isPageComment(comment)) {
            newCommentOnPageReasonPublisher.publishReasonBy(comment);
        }
    }
@Test
    void onNewCommentTest() {
        var comment = mock(Comment.class);
        var spyReasonPublisher = spy(reasonPublisher);

        doReturn(true).when(spyReasonPublisher).isPostComment(eq(comment));

        var event = new CommentCreatedEvent(this, comment);
        spyReasonPublisher.onNewComment(event);

        verify(newCommentOnPostReasonPublisher).publishReasonBy(eq(comment));

        doReturn(false).when(spyReasonPublisher).isPostComment(eq(comment));
        doReturn(true).when(spyReasonPublisher).isPageComment(eq(comment));

        spyReasonPublisher.onNewComment(event);
        verify(newCommentOnPageReasonPublisher).publishReasonBy(eq(comment));
    }