package org.dashbuilder.client.widgets.common; import com.google.gwtmockito.GwtMockitoTestRunner; import org.dashbuilder.common.client.error.ClientRuntimeError; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.uberfire.client.workbench.widgets.common.ErrorPopupPresenter; import org.uberfire.mvp.Command; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.*; @RunWith(GwtMockitoTestRunner.class) public class ClientRuntimeErrorPopupPresenterTest { @Mock ErrorPopupPresenter.View view; private ClientRuntimeErrorPopupPresenter presenter; @Before public void setup() { // The presenter instance to test. presenter = new ClientRuntimeErrorPopupPresenter(view); } @Test public void testShowMessage() throws Exception { final ClientRuntimeError error = mock(ClientRuntimeError.class); final String message = "message"; final Throwable cause = mock(Throwable.class); final String localizedMessage = "localizedMessage"; when(cause.getLocalizedMessage()).thenReturn(localizedMessage); when(error.getMessage()).thenReturn(message); when(error.getRootCause()).thenReturn(cause); presenter.showMessage(error); verify(view, times(1)).showMessage(anyString(), any(Command.class), any(Command.class)); } }