/*
* Copyright (c) 2014. The Trustees of Indiana University.
*
* This version of the code is licensed under the MPL 2.0 Open Source license with additional
* healthcare disclaimer. If the user is an entity intending to commercialize any application
* that uses this code in a for-profit venture, please contact the copyright holder.
*/
package com.muzima.view.progressdialog;
import android.app.ProgressDialog;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
public class MuzimaProgressDialogTest {
private ProgressDialog progressDialog;
private MuzimaProgressDialog dialog;
@Before
public void setUp() throws Exception {
progressDialog = Mockito.mock(ProgressDialog.class);
dialog = new MuzimaProgressDialog(progressDialog);
}
@Test
public void shouldShowProgressDialogWithGivenText() throws Exception {
dialog.show("title");
Mockito.verify(progressDialog).setCancelable(false);
Mockito.verify(progressDialog).setTitle("title");
Mockito.verify(progressDialog).setMessage("This might take a while");
Mockito.verify(progressDialog).show();
}
@Test
public void shouldDismissADialogOnlyWhenVisible() throws Exception {
Mockito.when(progressDialog.isShowing()).thenReturn(true);
dialog.dismiss();
Mockito.verify(progressDialog).dismiss();
}
@Test
public void shouldNotCallDismissIfProgressBarISNotVisible() throws Exception {
Mockito.when(progressDialog.isShowing()).thenReturn(false);
dialog.dismiss();
Mockito.verify(progressDialog, Mockito.never()).dismiss();
}
}