@Test
public void testActionPlugins() throws Exception {

    // reset due to calls in constructor
    reset(actionPlugin);
    doReturn(ACTION_DESCRIPTION).when(actionPlugin).getActionAddDescription();
    doReturn(ACTION_ID).when(actionPlugin).getId();
    doReturn(iAction).when(actionPlugin).createIAction(eq(ruleModeller));
    popup.getContent();
    verify(actionPlugin).createIAction(ruleModeller);
    verify(actionPlugin).addPluginToActionList(eq(ruleModeller), commandArgumentCaptor.capture());
    // reset due to adding a lot of different items before custom action plugins
    // listbox is used as popup.choices
    reset(listBox);
    commandArgumentCaptor.getValue().execute();
    verify(listBox).addItem(eq(ACTION_DESCRIPTION), eq(ACTION_ID));
    Assertions.assertThat(popup.cmds).containsKeys(ACTION_ID);
    // reset
    // now we need listbox as popup.positionCbo
    reset(listBox);
    doReturn("123").when(listBox).getValue(anyInt());
    popup.cmds.get(ACTION_ID).execute();
    verify(model).addRhsItem(iAction, 123);
    verify(popup).hide();
}