package com.socialize.test.dialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface.OnClickListener; import android.graphics.drawable.Drawable; import com.socialize.config.SocializeConfig; import com.socialize.test.SocializeActivityTest; import com.socialize.test.util.TestUtils; import com.socialize.testapp.mock.MockAlertDialog; import com.socialize.testapp.mock.MockDialogBuilder; import com.socialize.ui.error.DialogErrorHandler; import com.socialize.util.Drawables; import org.mockito.Mockito; public class DialogErrorHandlerTest extends SocializeActivityTest { public void testHandleErrorWithDebug() { final String message = "An unexpected error occurred. Please try again"; final Exception error = new Exception(message); final MockDialogBuilder builder = Mockito.mock(MockDialogBuilder.class); MockAlertDialog dialog = Mockito.mock(MockAlertDialog.class); Drawables drawables = Mockito.mock(Drawables.class); Drawable drawable = Mockito.mock(Drawable.class); Mockito.when(builder.setTitle("Error")).thenReturn(builder); Mockito.when(builder.setMessage(message)).thenReturn(builder); Mockito.when(builder.setCancelable(false)).thenReturn(builder); Mockito.when(builder.setPositiveButton(Mockito.eq("OK"), (OnClickListener) Mockito.anyObject())).thenReturn(builder); Mockito.when(builder.create()).thenReturn(dialog); Mockito.when(drawables.getDrawable("socialize_icon_white.png")).thenReturn(drawable); Mockito.when(builder.setIcon(drawable)).thenReturn(builder); DialogErrorHandler handler = new DialogErrorHandler() { @Override protected Builder makeBuilder(Context context) { return builder; } }; handler.setDrawables(drawables); handler.handleError(TestUtils.getActivity(this), error); Mockito.verify(dialog).show(); } }