@Test
public void testOnCommandPreparedDecodedRegistred() {

    // Setup
    final InboundCommandPrepared commandPrepared = mock(InboundCommandPrepared.class);
    final String subject = "subject";
    final CommandMeta meta = mock(CommandMeta.class);
    final BaseDecoder decoder = mock(BaseDecoder.class);
    final BaseTransactionEvent event = mock(BaseTransactionEvent.class);
    when(mockDecoderRegistry.containsKey(anyString())).thenReturn(true);
    when(commandPrepared.getMeta()).thenReturn(meta);
    when(mockDecoderRegistry.get(anyString())).thenReturn(decoder);
    when(decoder.decode(meta)).thenReturn(event);
    // Run the test
    languageTranslatorImplUnderTest.onCommandPrepared(commandPrepared);
    // Verify the results
    verify(mockBubbleCache, atLeastOnce()).addBubble(anyString(), any(BubbleMessage.class));
    verify(mockPublisher).publishEvent(any(BaseTransactionEvent.class));
}